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 }