Files
proxy/gateway/web/web.go

42 lines
529 B
Go
Raw Normal View History

2025-02-19 14:23:58 +08:00
package web
import (
"proxy-server/gateway/env"
2025-03-08 10:59:31 +08:00
"strconv"
2025-05-15 10:04:28 +08:00
"github.com/gofiber/fiber/v2"
2025-02-19 14:23:58 +08:00
)
2025-05-14 15:13:44 +08:00
type Server struct {
2025-05-15 10:04:28 +08:00
web *fiber.App
2025-05-14 15:13:44 +08:00
}
func New() *Server {
return &Server{}
}
2025-02-19 14:23:58 +08:00
2025-05-14 15:13:44 +08:00
func (s *Server) Run() error {
2025-05-15 10:04:28 +08:00
s.web = fiber.New()
2025-02-19 14:23:58 +08:00
2025-03-08 10:59:31 +08:00
// 配置中间件和路由
2025-05-15 10:04:28 +08:00
Router(s.web)
2025-03-08 10:59:31 +08:00
2025-02-19 14:23:58 +08:00
// 启动服务
2025-05-15 10:04:28 +08:00
address := ":" + strconv.Itoa(int(env.AppWebPort))
err := s.web.Listen(address)
2025-05-14 15:13:44 +08:00
if err != nil {
return err
}
return nil
}
func (s *Server) Stop() error {
2025-05-15 10:04:28 +08:00
err := s.web.Shutdown()
2025-02-19 14:23:58 +08:00
if err != nil {
2025-05-14 15:13:44 +08:00
return err
2025-02-19 14:23:58 +08:00
}
2025-03-08 10:59:31 +08:00
return nil
2025-02-19 14:23:58 +08:00
}