mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-27 11:58:49 +01:00
Improve kernel API authentication (#9702)
* 🎨 Add API `/api/network/echo` * 🎨 Improve localhost checking * 🎨 Add `model.CheckReadonly` for some APIs /api/storage/setLocalStorage /api/storage/setLocalStorageVal /api/notebook/openNotebook /api/notebook/removeNotebook /api/search/removeTemplate /api/attr/setBlockAttrs /api/sync/importSyncProviderS3 /api/sync/importSyncProviderWebDAV /api/riff/resetRiffCards /api/snippet/setSnippet /api/av/setAttributeViewBlockAttr /api/archive/zip /api/archive/unzip * 🎨 Remove `model.CheckReadonly` for some APIs /api/history/searchHistory /api/history/getHistoryItems /api/search/findReplace /api/block/getParentNextChildID /api/file/readDir /api/sync/listCloudSyncDir /api/asset/getDocImageAssets /api/template/renderSprig /api/ai/chatGPT /api/ai/chatGPTWithAction * 🎨 improve API `/api/network/echo`
This commit is contained in:
parent
70b3406e03
commit
cb016aac14
5 changed files with 110 additions and 51 deletions
|
|
@ -33,6 +33,71 @@ import (
|
|||
"github.com/siyuan-note/siyuan/kernel/util"
|
||||
)
|
||||
|
||||
func echo(c *gin.Context) {
|
||||
ret := gulu.Ret.NewResult()
|
||||
defer c.JSON(http.StatusOK, ret)
|
||||
|
||||
password, passwordSet := c.Request.URL.User.Password()
|
||||
|
||||
var rawData any
|
||||
if data, err := c.GetRawData(); nil == err {
|
||||
rawData = base64.StdEncoding.EncodeToString(data)
|
||||
} else {
|
||||
rawData = nil
|
||||
}
|
||||
|
||||
ret.Data = map[string]interface{}{
|
||||
"Context": map[string]interface{}{
|
||||
"Params": c.Params,
|
||||
"HandlerNames": c.HandlerNames(),
|
||||
"FullPath": c.FullPath(),
|
||||
"ClientIP": c.ClientIP(),
|
||||
"RemoteIP": c.RemoteIP(),
|
||||
"ContentType": c.ContentType(),
|
||||
"IsWebsocket": c.IsWebsocket(),
|
||||
"RawData": rawData,
|
||||
},
|
||||
"Request": map[string]interface{}{
|
||||
"Method": c.Request.Method,
|
||||
"URL": c.Request.URL,
|
||||
"Proto": c.Request.Proto,
|
||||
"ProtoMajor": c.Request.ProtoMajor,
|
||||
"ProtoMinor": c.Request.ProtoMinor,
|
||||
"Header": c.Request.Header,
|
||||
"ContentLength": c.Request.ContentLength,
|
||||
"TransferEncoding": c.Request.TransferEncoding,
|
||||
"Close": c.Request.Close,
|
||||
"Host": c.Request.Host,
|
||||
"Form": c.Request.Form,
|
||||
"PostForm": c.Request.PostForm,
|
||||
"MultipartForm": c.Request.MultipartForm,
|
||||
"Trailer": c.Request.Trailer,
|
||||
"RemoteAddr": c.Request.RemoteAddr,
|
||||
"TLS": c.Request.TLS,
|
||||
"UserAgent": c.Request.UserAgent(),
|
||||
"Cookies": c.Request.Cookies(),
|
||||
"Referer": c.Request.Referer(),
|
||||
},
|
||||
"URL": map[string]interface{}{
|
||||
"EscapedPath": c.Request.URL.EscapedPath(),
|
||||
"EscapedFragment": c.Request.URL.EscapedFragment(),
|
||||
"String": c.Request.URL.String(),
|
||||
"Redacted": c.Request.URL.Redacted(),
|
||||
"IsAbs": c.Request.URL.IsAbs(),
|
||||
"Query": c.Request.URL.Query(),
|
||||
"RequestURI": c.Request.URL.RequestURI(),
|
||||
"Hostname": c.Request.URL.Hostname(),
|
||||
"Port": c.Request.URL.Port(),
|
||||
},
|
||||
"User": map[string]interface{}{
|
||||
"Username": c.Request.URL.User.Username(),
|
||||
"Password": password,
|
||||
"PasswordSet": passwordSet,
|
||||
"String": c.Request.URL.User.String(),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func forwardProxy(c *gin.Context) {
|
||||
ret := gulu.Ret.NewResult()
|
||||
defer c.JSON(http.StatusOK, ret)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue