35 lines
701 B
Go
35 lines
701 B
Go
package bootstrap
|
|
|
|
import (
|
|
"allapp-go/internal/config"
|
|
"allapp-go/internal/errors"
|
|
"allapp-go/internal/middleware"
|
|
"allapp-go/internal/router"
|
|
"allapp-go/pkg/logger"
|
|
"fmt"
|
|
|
|
"github.com/gofiber/fiber/v3"
|
|
"github.com/gofiber/fiber/v3/middleware/recover"
|
|
"github.com/gofiber/fiber/v3/middleware/requestid"
|
|
)
|
|
|
|
func RunServer(cfg *config.Config) error {
|
|
app := fiber.New(fiber.Config{
|
|
ErrorHandler: errors.ErrorHandler(),
|
|
})
|
|
|
|
// ===== middleware =====
|
|
app.Use(recover.New())
|
|
app.Use(requestid.New())
|
|
app.Use(middleware.Logger())
|
|
|
|
// ===== router =====
|
|
router.SetupRouter(app, cfg)
|
|
|
|
addr := fmt.Sprintf(":%d", cfg.App.Port)
|
|
|
|
logger.Log.Info("服务启动")
|
|
|
|
return app.Listen(addr)
|
|
}
|