mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-08-28 10:09:54 +08:00
发布v2.11.5版本,更新内容请查看:https://github.com/bufanyun/hotgo/blob/v2.0/docs/guide-zh-CN/start-update-log.md
This commit is contained in:
@@ -63,12 +63,18 @@ func (s *sMiddleware) Ctx(r *ghttp.Request) {
|
||||
r.SetCtx(ctx)
|
||||
}
|
||||
|
||||
data := g.Map{
|
||||
"request.body": gjson.New(r.GetBodyString()),
|
||||
}
|
||||
|
||||
contexts.Init(r, &model.Context{
|
||||
Data: make(g.Map),
|
||||
Data: data,
|
||||
Module: getModule(r.URL.Path),
|
||||
})
|
||||
|
||||
contexts.SetData(r.Context(), "request.body", gjson.New(r.GetBodyString()))
|
||||
if len(r.Cookie.GetSessionId()) == 0 {
|
||||
r.Cookie.SetSessionId(gctx.CtxId(r.Context()))
|
||||
}
|
||||
r.Middleware.Next()
|
||||
}
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package middleware
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/v2/errors/gcode"
|
||||
"github.com/gogf/gf/v2/errors/gerror"
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
"github.com/gogf/gf/v2/util/gconv"
|
||||
"hotgo/internal/library/response"
|
||||
@@ -68,7 +68,8 @@ func (s *sMiddleware) PreFilter(r *ghttp.Request) {
|
||||
|
||||
// 先验证基本校验规则
|
||||
if err := r.Parse(inputObject.Interface()); err != nil {
|
||||
response.JsonExit(r, gcode.CodeInvalidRequest.Code(), err.Error())
|
||||
resp := gerror.Code(err)
|
||||
response.JsonExit(r, resp.Code(), gerror.Current(err).Error(), resp.Detail())
|
||||
return
|
||||
}
|
||||
|
||||
@@ -80,7 +81,8 @@ func (s *sMiddleware) PreFilter(r *ghttp.Request) {
|
||||
|
||||
// 执行预处理
|
||||
if err := validate.PreFilter(r.Context(), inputObject.Interface()); err != nil {
|
||||
response.JsonExit(r, gcode.CodeInvalidParameter.Code(), err.Error())
|
||||
resp := gerror.Code(err)
|
||||
response.JsonExit(r, resp.Code(), gerror.Current(err).Error(), resp.Detail())
|
||||
return
|
||||
}
|
||||
|
||||
|
@@ -87,8 +87,10 @@ func parseResponse(r *ghttp.Request) (code int, message string, resp interface{}
|
||||
code = gerror.Code(err).Code()
|
||||
|
||||
// 记录异常日志
|
||||
// 如果你想对错误做不同的处理,可以通过定义不同的错误码来区分
|
||||
// 默认-1为安全可控错误码只记录文件日志,非-1为不可控错误,记录文件日志+服务日志并打印堆栈
|
||||
if code == gcode.CodeNil.Code() {
|
||||
g.Log().Stdout(false).Printf(ctx, "exception:%v", err)
|
||||
g.Log().Stdout(false).Infof(ctx, "exception:%v", err)
|
||||
} else {
|
||||
g.Log().Errorf(ctx, "exception:%v", err)
|
||||
}
|
||||
|
Reference in New Issue
Block a user