Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHamidreza Ghavami <70919649+hamid-gh98@users.noreply.github.com>2023-05-30 23:54:18 +0300
committerHamidreza Ghavami <70919649+hamid-gh98@users.noreply.github.com>2023-05-30 23:54:18 +0300
commitea7fe09c27da8c12e38f581fd7a4b336b4e55ad7 (patch)
tree7fdb5f92b9d752c275aae9776f38ee37745b9c7f /web/web.go
parent8170b65db4d38002f81825ea876dd3e4c9292931 (diff)
use the middlewares
Diffstat (limited to 'web/web.go')
-rw-r--r--web/web.go34
1 files changed, 11 insertions, 23 deletions
diff --git a/web/web.go b/web/web.go
index 543ecf8e..3d8f0242 100644
--- a/web/web.go
+++ b/web/web.go
@@ -19,6 +19,7 @@ import (
"x-ui/web/controller"
"x-ui/web/job"
"x-ui/web/locale"
+ "x-ui/web/middleware"
"x-ui/web/network"
"x-ui/web/service"
@@ -144,28 +145,6 @@ func (s *Server) getHtmlTemplate(funcMap template.FuncMap) (*template.Template,
return t, nil
}
-func redirectMiddleware(basePath string) gin.HandlerFunc {
- return func(c *gin.Context) {
- // Redirect from old '/xui' path to '/panel'
- path := c.Request.URL.Path
- redirects := map[string]string{
- "panel/API": "panel/api",
- "xui/API": "panel/api",
- "xui": "panel",
- }
- for from, to := range redirects {
- from, to = basePath+from, basePath+to
- if strings.HasPrefix(path, from) {
- newPath := to + path[len(from):]
- c.Redirect(http.StatusMovedPermanently, newPath)
- c.Abort()
- return
- }
- }
- c.Next()
- }
-}
-
func (s *Server) initRouter() (*gin.Engine, error) {
if config.IsDebug() {
gin.SetMode(gin.DebugMode)
@@ -177,6 +156,15 @@ func (s *Server) initRouter() (*gin.Engine, error) {
engine := gin.Default()
+ webDomain, err := s.settingService.GetWebDomain()
+ if err != nil {
+ return nil, err
+ }
+
+ if webDomain != "" {
+ engine.Use(middleware.DomainValidatorMiddleware(webDomain))
+ }
+
secret, err := s.settingService.GetSecret()
if err != nil {
return nil, err
@@ -233,7 +221,7 @@ func (s *Server) initRouter() (*gin.Engine, error) {
}
// Apply the redirect middleware (`/xui` to `/panel`)
- engine.Use(redirectMiddleware(basePath))
+ engine.Use(middleware.RedirectMiddleware(basePath))
g := engine.Group(basePath)