This commit is contained in:
2026-07-28 10:32:21 +08:00
parent fc8c23beee
commit 389c0d172a
17 changed files with 678 additions and 157 deletions
+11 -3
View File
@@ -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},
})
},
})