42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
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)
|
|
}
|