Files
mp-qvyun/backend/modules/middlewares/mid_response.go
2024-12-11 15:25:31 +08:00

34 lines
703 B
Go

package middlewares
import (
"backend/pkg/errorx"
"github.com/gofiber/fiber/v3"
log "github.com/sirupsen/logrus"
)
func (f *Middlewares) ProcessResponse(c fiber.Ctx) error {
log.WithField("module", "middleware.ProcessResponse").Debug("Begin")
defer log.WithField("module", "middleware.ProcessResponse").Debug("END")
if err := c.Next(); 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 nil
}