mirror of
https://github.com/wgh136/nysoure.git
synced 2025-12-16 07:51:14 +00:00
34 lines
690 B
Go
34 lines
690 B
Go
package middleware
|
|
|
|
import (
|
|
"errors"
|
|
"nysoure/server/model"
|
|
|
|
"github.com/gofiber/fiber/v3/log"
|
|
|
|
"github.com/gofiber/fiber/v3"
|
|
)
|
|
|
|
func ErrorHandler(c fiber.Ctx) error {
|
|
err := c.Next()
|
|
if err != nil {
|
|
var fiberErr *fiber.Error
|
|
if errors.As(err, &fiberErr) {
|
|
if fiberErr.Code != fiber.StatusInternalServerError {
|
|
return c.Status(fiberErr.Code).JSON(model.Response[any]{
|
|
Success: false,
|
|
Data: nil,
|
|
Message: fiberErr.Message,
|
|
})
|
|
}
|
|
}
|
|
log.Error("Internal Server Error: ", err)
|
|
return c.Status(fiber.StatusInternalServerError).JSON(model.Response[any]{
|
|
Success: false,
|
|
Data: nil,
|
|
Message: "Internal server error",
|
|
})
|
|
}
|
|
return nil
|
|
}
|