问题描述
我有一个审核日志中间件,它试图记录每个grpc函数调用的详细信息。目前,我可以获取请求方法和网址。但是我无法获取Post正文中的值。
这就是我现在拥有的:
package main
func main() {
e := echo.New()
e.Use(grpcGatewayMiddleware(mux,func(c echo.Context) bool {
return strings.HasPrefix(c.Path(),"/skip")
}))
e.Use(logMiddleware)
...
}
func Middleware(config auth.Config) echo.MiddlewareFunc {
return func(next echo.HandlerFunc) echo.HandlerFunc {
return func(c echo.Context) (err error) {
message := Message {
Method: c.Request().Method,Url: c.Request().RequestURI,Prams: c.Request().Form.Encode(),}
log(message)
}
}
}
func grpcGatewayMiddleware(mux *runtime.ServeMux,skipper middleware.Skipper) echo.MiddlewareFunc {
if skipper == nil {
skipper = middleware.DefaultSkipper
}
return func(next echo.HandlerFunc) echo.HandlerFunc {
return func(c echo.Context) error {
if skipper(c) {
return next(c)
}
mux.ServeHTTP(c.Response(),c.Request())
return next(c)
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)