| 12345678910111213141516171819202122232425262728293031 |
- package router
- import (
- "embed"
- "fmt"
- "github.com/gin-gonic/gin"
- "net/http"
- "one-api/common"
- "os"
- "strings"
- )
- func SetRouter(router *gin.Engine, buildFS embed.FS, indexPage []byte) {
- SetApiRouter(router)
- SetDashboardRouter(router)
- SetRelayRouter(router)
- SetVideoRouter(router)
- frontendBaseUrl := os.Getenv("FRONTEND_BASE_URL")
- if common.IsMasterNode && frontendBaseUrl != "" {
- frontendBaseUrl = ""
- common.SysLog("FRONTEND_BASE_URL is ignored on master node")
- }
- if frontendBaseUrl == "" {
- SetWebRouter(router, buildFS, indexPage)
- } else {
- frontendBaseUrl = strings.TrimSuffix(frontendBaseUrl, "/")
- router.NoRoute(func(c *gin.Context) {
- c.Redirect(http.StatusMovedPermanently, fmt.Sprintf("%s%s", frontendBaseUrl, c.Request.RequestURI))
- })
- }
- }
|