Files
quyun/backend_v1/app/errorx/middleware.go
Rogee 24bd161df9
Some checks failed
build quyun / Build (push) Has been cancelled
feat: add backend_v1 migration
2025-12-19 14:46:58 +08:00

39 lines
715 B
Go

package errorx
import "github.com/gofiber/fiber/v3"
// 全局实例
var DefaultSender = NewResponseSender()
// Middleware 错误处理中间件
func Middleware(c fiber.Ctx) error {
err := c.Next()
if err != nil {
return DefaultSender.SendError(c, err)
}
return nil
}
// 便捷函数
func Wrap(err error) *AppError {
if err == nil {
return nil
}
if appErr, ok := err.(*AppError); ok {
return &AppError{
Code: appErr.Code,
Message: appErr.Message,
StatusCode: appErr.StatusCode,
Data: appErr.Data,
originalErr: appErr,
}
}
return DefaultSender.handler.Handle(err)
}
func SendError(ctx fiber.Ctx, err error) error {
return DefaultSender.SendError(ctx, err)
}