添加一些注释

This commit is contained in:
DESKT-DMCDGMMAS\Administrator
2024-05-11 17:07:17 +08:00
parent 6820f29e19
commit 35a3d56e1f
+12 -5
View File
@@ -4,6 +4,7 @@ import (
"bytes"
"context"
"io"
"net/http"
"github.com/gin-gonic/gin"
uuid "github.com/satori/go.uuid"
@@ -19,25 +20,31 @@ func SetTradeId(ctx context.Context) context.Context {
// 中间件 gin框架保存请求相关信息
func MiddlewareGetGinParams(log *Logger) gin.HandlerFunc {
return func(ctx *gin.Context) {
// 使用bytes.Buffer来读取并记录请求体,同时避免改变ctx.Request.Body
buf := &bytes.Buffer{}
tea := io.TeeReader(ctx.Request.Body, buf)
// 读取body
body, err := io.ReadAll(tea)
if err != nil {
// panic(err)
log.Infof(ctx, "Error reading request body: %v", err)
ctx.AbortWithStatus(http.StatusInternalServerError)
return
}
// 截取body的前1000个字符
bodys := string(body)
if len(bodys) > 1000 {
bodys = bodys[:1000]
bodyStr := string(body)
if len(bodyStr) > 1000 {
bodyStr = bodyStr[:1000]
}
// 使用NopCloser包裹buffer,仅为了确保在读取body之后body可以被关闭,但并不改变原始的Request.Body
ctx.Request.Body = io.NopCloser(buf)
m := map[string]interface{}{
"method": ctx.Request.Method,
"uri": ctx.Request.RequestURI,
"body": bodys,
"body": bodyStr,
"query": ctx.Request.URL.Query(),
"header": ctx.Request.Header,
}