feat: 优化after hook的逻辑
This commit is contained in:
@@ -43,7 +43,7 @@ func (s *server) hook(ctx *gin.Context, uriCfg define.UriConfig) {
|
||||
s.hookAfter(ctx, uriCfg, hookInstance, success)
|
||||
} else {
|
||||
// 异步执行
|
||||
go s.hookAfter(ctx, uriCfg, hookInstance, success)
|
||||
go s.hookAfter(util.Copy(ctx), uriCfg, hookInstance, success)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,13 +60,14 @@ func (s *server) hookAfter(ctx *gin.Context, uriCfg define.UriConfig, hookInstan
|
||||
}
|
||||
}()
|
||||
if success {
|
||||
logger.Instance.Debug("接口Logic执行成功, 执行Hook逻辑")
|
||||
logger.Instance.Debug("接口Logic执行成功, 执行Hook逻辑", pkgLogger.NewLogData(innerContext, logger.RecordType, logger.CodeLogicHook, map[string]any{}).ToFieldList()...)
|
||||
for _, itemFunc := range hookInstance.SuccessHookFuncList {
|
||||
if nil != itemFunc {
|
||||
itemFunc(ctx)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
logger.Instance.Debug("接口Logic执行失败, 执行Hook逻辑", pkgLogger.NewLogData(innerContext, logger.RecordType, logger.CodeLogicHook, map[string]any{}).ToFieldList()...)
|
||||
for _, itemFunc := range hookInstance.FailureHookFuncList {
|
||||
if nil != itemFunc {
|
||||
itemFunc(ctx)
|
||||
|
||||
Reference in New Issue
Block a user