diff --git a/manager/manager.go b/manager/manager.go index 8a52dd2d2..f80892c4b 100644 --- a/manager/manager.go +++ b/manager/manager.go @@ -12,7 +12,6 @@ import ( "app/manager/middlewares" "app/manager/routes" - "github.com/gin-contrib/gzip" "github.com/gin-gonic/gin" ) @@ -48,7 +47,7 @@ func RunManager() { app.Use(middlewares.MaxConnections(utils.CoreCfg.MaxGinConnections)) app.Use(middlewares.Ratelimit(utils.CoreCfg.Ratelimit)) app.Use(middlewares.RequestResponseLogger()) - app.Use(gzip.Gzip(gzip.DefaultCompression)) + app.Use(middlewares.Gzip()) endpointsConfig := getEndpointsConfig() middlewares.SetSwagger(app, endpointsConfig) app.Use(middlewares.WithTimeout(utils.CoreCfg.ResponseTimeout)) diff --git a/manager/middlewares/gzip.go b/manager/middlewares/gzip.go new file mode 100644 index 000000000..fa61bfeed --- /dev/null +++ b/manager/middlewares/gzip.go @@ -0,0 +1,15 @@ +package middlewares + +import ( + "github.com/gin-contrib/gzip" + "github.com/gin-gonic/gin" +) + +func Gzip(options ...gzip.Option) gin.HandlerFunc { + gzipFn := gzip.Gzip(gzip.DefaultCompression, options...) + return func(c *gin.Context) { + tempLogDebugGinContextRequestHeader(c, "Gzip before") + defer tempLogDebugGinContextRequestHeader(c, "Gzip after") + gzipFn(c) + } +} diff --git a/manager/middlewares/rbac.go b/manager/middlewares/rbac.go index 9d3e20a11..b43e36652 100644 --- a/manager/middlewares/rbac.go +++ b/manager/middlewares/rbac.go @@ -8,6 +8,7 @@ import ( "app/manager/config" "fmt" "net/http" + "net/http/httputil" "strconv" "strings" @@ -204,12 +205,10 @@ func RBAC() gin.HandlerFunc { func tempLogDebugGinContextRequestHeader(c *gin.Context, origin string) { if c != nil { - if c.Request != nil { - utils.LogDebug("origin", origin, "gin_context_req_header", c.Request.Header, "gin context request handler") - } else { - utils.LogDebug("origin", origin, "gin_context_req", nil, "gin context request handler") + dump, err := httputil.DumpRequest(c.Request, false) + if err != nil { + utils.LogDebug("origin", origin, "err", err.Error(), "gin_context_req", nil, "gin context request handler") } - } else { - utils.LogDebug("origin", origin, "gin_context", nil, "gin context request handler") + utils.LogDebug("origin", origin, "gin_context_req", string(dump), "gin context request handler") } }