package tracker import ( "sync" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" ) type Server struct { router *echo.Echo mu sync.RWMutex tracker *Tracker } func NewServer() *Server { return &Server{ router: echo.New(), tracker: NewTracker(), } } func (s *Server) Configure() { // Middleware s.router.Use(middleware.Logger()) s.router.Use(middleware.Recover()) s.router.Use(middleware.CORS()) // Роуты s.router.POST("/register", s.registerHandler) s.router.GET("/peers", s.listPeers) s.router.GET("/ws", s.websocketHandler) } func (s *Server) Run() error { return s.router.Start(":8080") }