Files
go_process_manager/internal/app/middle/panic.go
17689440205 460a1f428b update
2025-01-26 16:43:51 +08:00

27 lines
471 B
Go

package middle
import (
"github.com/lzh-1625/go_process_manager/internal/app/constants"
"github.com/gin-gonic/gin"
)
func PanicMiddle() gin.HandlerFunc {
return func(c *gin.Context) {
defer func() {
if err := recover(); err == 0 {
if err, ok := c.Get(constants.CTXFLG_ERR); ok {
rErr(c, -1, err.(string), nil)
} else {
rErr(c, -1, "Internal error!", nil)
}
} else {
if err != nil {
panic(err)
}
}
}()
c.Next()
}
}