|
@ -1,11 +1,16 @@ |
|
|
package middleware |
|
|
package middleware |
|
|
|
|
|
|
|
|
import ( |
|
|
import ( |
|
|
|
|
|
"fmt" |
|
|
|
|
|
"github.com/kataras/iris" |
|
|
"github.com/kataras/iris/context" |
|
|
"github.com/kataras/iris/context" |
|
|
"lapp_-wy/conf" |
|
|
"lapp_-wy/conf" |
|
|
"lapp_-wy/utils" |
|
|
"lapp_-wy/utils" |
|
|
"lapp_-wy/web/middleware/casbins" |
|
|
"lapp_-wy/web/middleware/casbins" |
|
|
|
|
|
"lapp_-wy/web/middleware/glog" |
|
|
"lapp_-wy/web/middleware/jwts" |
|
|
"lapp_-wy/web/middleware/jwts" |
|
|
|
|
|
"lapp_-wy/web/supports" |
|
|
|
|
|
"runtime" |
|
|
"strings" |
|
|
"strings" |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
@ -54,3 +59,32 @@ func checkURL(reqPath string) bool { |
|
|
} |
|
|
} |
|
|
return false |
|
|
return false |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* @Description: 错误信息处理 |
|
|
|
|
|
* @Author: zhangxin |
|
|
|
|
|
* @Date: 2021/03/23 |
|
|
|
|
|
*/ |
|
|
|
|
|
func Recover(ctx iris.Context) { |
|
|
|
|
|
defer func() { |
|
|
|
|
|
if err := recover(); err != nil { |
|
|
|
|
|
if ctx.IsStopped() { |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
var stacktrace string |
|
|
|
|
|
for i := 1; ; i++ { |
|
|
|
|
|
_, f, l, got := runtime.Caller(i) |
|
|
|
|
|
if !got { |
|
|
|
|
|
break |
|
|
|
|
|
} |
|
|
|
|
|
stacktrace += fmt.Sprintf("%s:%d\n", f, l) |
|
|
|
|
|
} |
|
|
|
|
|
glog.ErrorExtln("recovery","recovery", stacktrace) |
|
|
|
|
|
|
|
|
|
|
|
// 打印错误日志
|
|
|
|
|
|
supports.Error(ctx, iris.StatusInternalServerError, "操作出错请重试", nil) |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
|
|
|
}() |
|
|
|
|
|
ctx.Next() |
|
|
|
|
|
} |