package webserver import ( "time" "git.lxtend.com/lixiangwuxian/qqbot/handler/restart" "git.lxtend.com/lixiangwuxian/qqbot/handler/ticket" "git.lxtend.com/lixiangwuxian/qqbot/health" "github.com/cloudwego/hertz/pkg/app/server" "github.com/hertz-contrib/cors" ) var herzServerStarted = false func StartRouter() { if herzServerStarted { return } herzServerStarted = true herzServer := server.New(server.WithHostPorts(":3434")) herzServer.Use(cors.New(cors.Config{ AllowOrigins: []string{"https://www.lxtend.com", "https://git.lxtend.com"}, AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"}, AllowHeaders: []string{"Origin", "Content-Type", "Accept", "Authorization", "X-CSRF-Token"}, ExposeHeaders: []string{"Content-Length", "X-CSRF-Token"}, AllowCredentials: true, MaxAge: 12 * time.Hour, })) healthEngine := herzServer.Group("/health") healthEngine.GET("/ping", health.HealthHandler) ticketEngine := herzServer.Group("/ticket") ticketEngine.GET("", ticket.TicketHandler) gitEngine := herzServer.Group("/git") gitEngine.GET("/pull", restart.PullCodeHandler) gitEngine.GET("/build", restart.BuildBotHandler) gitEngine.GET("/restart", restart.RestartBotHandler) gitEngine.GET("/all", restart.AllInOneHandler) go herzServer.Run() }