Bläddra i källkod

fix: upload body

2637309949@qq.com 5 år sedan
förälder
incheckning
9832e4c1af
1 ändrade filer med 7 tillägg och 7 borttagningar
  1. 7 7
      middleware/logger.go

+ 7 - 7
middleware/logger.go

@@ -3,6 +3,7 @@ package middleware
 import (
 	"bytes"
 	"fmt"
+	"io/ioutil"
 	"time"
 
 	"git.qianqiusoft.com/public/glog"
@@ -96,14 +97,13 @@ func LoggerMiddleware() gin.HandlerFunc {
 		logInfo := &LogInfo{}
 		logInfo.ReqTime = time.Now()
 
-		// 下一个请求
-		c.Next()
+		buf, _ := ioutil.ReadAll(c.Request.Body)
+		c.Request.Body = ioutil.NopCloser(bytes.NewBuffer([]byte(buf)))
 		hByte := bytes.Buffer{}
-		bByte := make([]byte, 1024)
+		c.Request.Header.Write(&hByte)
 
-		cReq := c.Request.Clone(c)
-		cReq.Header.Write(&hByte)
-		rbn, _ := cReq.Body.Read(bByte)
+		// 下一个请求
+		c.Next()
 
 		// 设置对象
 		logInfo.RespBody = respWriter.respBody.Bytes()
@@ -113,7 +113,7 @@ func LoggerMiddleware() gin.HandlerFunc {
 		logInfo.ReqProto = c.Request.Proto
 		logInfo.ReqUa = c.Request.UserAgent()
 		logInfo.ReqReferer = c.Request.Referer()
-		logInfo.ReqBody = bByte[0:rbn]
+		logInfo.ReqBody = buf
 		logInfo.ReqHeader = hByte.Bytes()
 		logInfo.ReqClientIp = c.ClientIP()
 		logInfo.CostTime = float64(logInfo.RespTime.Sub(logInfo.ReqTime).Seconds())