main.go 594 B

12345678910111213141516171819202122232425
  1. package router
  2. import (
  3. "embed"
  4. "fmt"
  5. "github.com/gin-gonic/gin"
  6. "net/http"
  7. "os"
  8. "strings"
  9. )
  10. func SetRouter(router *gin.Engine, buildFS embed.FS, indexPage []byte) {
  11. SetApiRouter(router)
  12. SetDashboardRouter(router)
  13. SetRelayRouter(router)
  14. frontendBaseUrl := os.Getenv("FRONTEND_BASE_URL")
  15. if frontendBaseUrl == "" {
  16. SetWebRouter(router, buildFS, indexPage)
  17. } else {
  18. frontendBaseUrl = strings.TrimSuffix(frontendBaseUrl, "/")
  19. router.NoRoute(func(c *gin.Context) {
  20. c.Redirect(http.StatusMovedPermanently, fmt.Sprintf("%s%s", frontendBaseUrl, c.Request.RequestURI))
  21. })
  22. }
  23. }