diff --git a/sub/subController.go b/sub/subController.go index 8fd39efa..2385b76b 100644 --- a/sub/subController.go +++ b/sub/subController.go @@ -2,7 +2,7 @@ package sub import ( "encoding/base64" - "strings" + "net" "github.com/gin-gonic/gin" ) @@ -54,7 +54,7 @@ func (a *SUBController) initRouter(g *gin.RouterGroup) { func (a *SUBController) subs(c *gin.Context) { subId := c.Param("subid") - host := strings.Split(c.Request.Host, ":")[0] + host, _, _ := net.SplitHostPort(c.Request.Host) subs, header, err := a.subService.GetSubs(subId, host) if err != nil || len(subs) == 0 { c.String(400, "Error!") @@ -79,7 +79,7 @@ func (a *SUBController) subs(c *gin.Context) { func (a *SUBController) subJsons(c *gin.Context) { subId := c.Param("subid") - host := strings.Split(c.Request.Host, ":")[0] + host, _, _ := net.SplitHostPort(c.Request.Host) jsonSub, header, err := a.subJsonService.GetJson(subId, host) if err != nil || len(jsonSub) == 0 { c.String(400, "Error!") diff --git a/web/controller/util.go b/web/controller/util.go index a32c9270..ac08f9af 100644 --- a/web/controller/util.go +++ b/web/controller/util.go @@ -61,7 +61,7 @@ func html(c *gin.Context, name string, title string, data gin.H) { data = gin.H{} } data["title"] = title - data["host"] = strings.Split(c.Request.Host, ":")[0] + data["host"], _, _ = net.SplitHostPort(c.Request.Host) data["request_uri"] = c.Request.RequestURI data["base_path"] = c.GetString("base_path") c.HTML(http.StatusOK, name, getContext(data)) diff --git a/web/middleware/domainValidator.go b/web/middleware/domainValidator.go index 3adb0f0f..2beecfdb 100644 --- a/web/middleware/domainValidator.go +++ b/web/middleware/domainValidator.go @@ -1,15 +1,15 @@ package middleware import ( + "net" "net/http" - "strings" "github.com/gin-gonic/gin" ) func DomainValidatorMiddleware(domain string) gin.HandlerFunc { return func(c *gin.Context) { - host := strings.Split(c.Request.Host, ":")[0] + host, _, _ := net.SplitHostPort(c.Request.Host) if host != domain { c.AbortWithStatus(http.StatusForbidden)