package router import ( "github.com/gin-gonic/gin" "hy2xs-admin/frontend" "hy2xs-admin/middleware" "strings" ) func Router(router *gin.Engine, huiWebContext *string) { relativePath := "/" if huiWebContext != nil && strings.HasPrefix(*huiWebContext, "/") { relativePath = *huiWebContext } frontend.InitFrontend(router, relativePath) globalGroup := router.Group(relativePath) machineApi := globalGroup.Group("/hui") machineApi.Use(middleware.LocalOnlyHandler(), middleware.LogHandler()) initHysteria2MachineAuthRouter(machineApi) authApi := globalGroup.Group("/hui") authApi.Use(middleware.FilterHandler(), middleware.LogHandler(), middleware.RateLimiterHandler()) initAuthRouter(authApi) huiAdminApi := globalGroup.Group("/hui") huiAdminApi.Use( middleware.FilterHandler(), middleware.LogHandler(), middleware.RateLimiterHandler(), middleware.JWTHandler(), middleware.AdminHandler(), ) initAccountAdminRouter(huiAdminApi) initConfigRouter(huiAdminApi) initHysteria2Router(huiAdminApi) initLogRouter(huiAdminApi) initMonitorRouter(huiAdminApi) }