package web import ( "context" "net/http" "proxy-server/server/pkg/env" "strconv" "github.com/gin-gonic/gin" ) type Server struct { http *http.Server } func New() *Server { return &Server{} } func (s *Server) Run() error { address := ":" + strconv.Itoa(int(env.AppWebPort)) engine := gin.Default() s.http = &http.Server{Addr: address, Handler: engine} // 配置中间件和路由 Router(engine) // 启动服务 err := s.http.ListenAndServe() if err != nil { return err } return nil } func (s *Server) Stop() error { err := s.http.Shutdown(context.Background()) if err != nil { return err } return nil }