diff options
Diffstat (limited to 'web/middleware')
| -rw-r--r-- | web/middleware/domainValidator.go | 6 | ||||
| -rw-r--r-- | web/middleware/redirect.go | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/web/middleware/domainValidator.go b/web/middleware/domainValidator.go index c94130c0..ae4793cb 100644 --- a/web/middleware/domainValidator.go +++ b/web/middleware/domainValidator.go @@ -1,3 +1,5 @@ +// Package middleware provides HTTP middleware functions for the 3x-ui web panel, +// including domain validation and URL redirection utilities. package middleware import ( @@ -8,6 +10,10 @@ import ( "github.com/gin-gonic/gin" ) +// DomainValidatorMiddleware returns a Gin middleware that validates the request domain. +// It extracts the host from the request, strips any port number, and compares it +// against the configured domain. Requests from unauthorized domains are rejected +// with HTTP 403 Forbidden status. func DomainValidatorMiddleware(domain string) gin.HandlerFunc { return func(c *gin.Context) { host := c.Request.Host diff --git a/web/middleware/redirect.go b/web/middleware/redirect.go index e3dc8ada..966d897c 100644 --- a/web/middleware/redirect.go +++ b/web/middleware/redirect.go @@ -7,6 +7,9 @@ import ( "github.com/gin-gonic/gin" ) +// RedirectMiddleware returns a Gin middleware that handles URL redirections. +// It provides backward compatibility by redirecting old '/xui' paths to new '/panel' paths, +// including API endpoints. The middleware performs permanent redirects (301) for SEO purposes. func RedirectMiddleware(basePath string) gin.HandlerFunc { return func(c *gin.Context) { // Redirect from old '/xui' path to '/panel' |
