update
This commit is contained in:
+11
-3
@@ -2,6 +2,7 @@ package cmd
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"os/signal"
|
||||
@@ -9,8 +10,8 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/gofiber/fiber/v3"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/jmoiron/sqlx"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"github.com/peterqiu0516/sub-store/internal/config"
|
||||
@@ -76,13 +77,20 @@ func startFiber(cfg *config.Config, db *sqlx.DB) error {
|
||||
WriteTimeout: cfg.Server.WriteTimeout,
|
||||
BodyLimit: cfg.Server.BodyLimit,
|
||||
ErrorHandler: func(c fiber.Ctx, err error) error {
|
||||
code := fiber.StatusInternalServerError
|
||||
message := "Internal server error"
|
||||
var fiberErr *fiber.Error
|
||||
if errors.As(err, &fiberErr) {
|
||||
code = fiberErr.Code
|
||||
message = fiberErr.Message
|
||||
}
|
||||
logrus.WithError(err).WithFields(logrus.Fields{
|
||||
"method": c.Method(),
|
||||
"path": c.Path(),
|
||||
}).Error("request error")
|
||||
return c.Status(500).JSON(fiber.Map{
|
||||
return c.Status(code).JSON(fiber.Map{
|
||||
"status": "failed",
|
||||
"error": fiber.Map{"code": 500, "message": "Internal server error"},
|
||||
"error": fiber.Map{"code": code, "message": message},
|
||||
})
|
||||
},
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user