Files
atomctl/templates/project/app/middlewares/mid_response.go.tpl
2024-12-21 00:09:18 +08:00

32 lines
566 B
Smarty

package middlewares
import (
"{{.ModuleName}}/app/errorx"
"github.com/gofiber/fiber/v3"
log "github.com/sirupsen/logrus"
)
func (f *Middlewares) ProcessResponse(c fiber.Ctx) error {
err := c.Next()
if err != nil {
log.WithError(err).Error("process response error")
if e, ok := err.(errorx.Response); ok {
return e.Response(c)
}
if e, ok := err.(*fiber.Error); ok {
return errorx.Response{
StatusCode: e.Code,
Code: e.Code,
Message: e.Message,
}.Response(c)
}
return errorx.Wrap(err).Response(c)
}
return err
}