mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-05-04 14:18:48 +00:00
26 lines
430 B
Go
26 lines
430 B
Go
![]() |
package middleware
|
||
|
|
||
|
import (
|
||
|
"net"
|
||
|
"net/http"
|
||
|
"strings"
|
||
|
|
||
|
"github.com/gin-gonic/gin"
|
||
|
)
|
||
|
|
||
|
func DomainValidatorMiddleware(domain string) gin.HandlerFunc {
|
||
|
return func(c *gin.Context) {
|
||
|
host := c.Request.Host
|
||
|
if colonIndex := strings.LastIndex(host, ":"); colonIndex != -1 {
|
||
|
host, _, _ = net.SplitHostPort(c.Request.Host)
|
||
|
}
|
||
|
|
||
|
if host != domain {
|
||
|
c.AbortWithStatus(http.StatusForbidden)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
c.Next()
|
||
|
}
|
||
|
}
|