Files
proxy/gateway/web/web.go

50 lines
803 B
Go

package web
import (
"github.com/gofiber/fiber/v2/middleware/logger"
"github.com/gofiber/fiber/v2/middleware/recover"
"log/slog"
"proxy-server/gateway/env"
"strconv"
"github.com/gofiber/fiber/v2"
)
type Server struct {
web *fiber.App
}
func New() *Server {
return &Server{}
}
func (s *Server) Run() error {
slog.Info("启动接口服务", "服务端口", env.AppWebPort)
s.web = fiber.New(fiber.Config{
DisableStartupMessage: true,
})
// 配置中间件和路由
s.web.Use(recover.New())
s.web.Use(logger.New())
Router(s.web)
// 启动服务
address := ":" + strconv.Itoa(int(env.AppWebPort))
err := s.web.Listen(address)
if err != nil {
return err
}
return nil
}
func (s *Server) Stop() error {
err := s.web.Shutdown()
if err != nil {
return err
}
return nil
}