Files
trihuy-russian/web/middleware/domainValidator.go
T

26 lines
430 B
Go
Raw Normal View History

package middleware
import (
2024-05-22 17:51:55 +02:00
"net"
"net/http"
2024-07-14 23:55:04 +02:00
"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)
}
2024-07-14 23:55:04 +02:00
if host != domain {
c.AbortWithStatus(http.StatusForbidden)
return
}
c.Next()
}
}