grafana/pkg/middleware/validate_host.go

23 lines
412 B
Go
Raw Normal View History

package middleware
import (
"strings"
"gopkg.in/macaron.v1"
"github.com/grafana/grafana/pkg/setting"
)
func ValidateHostHeader(domain string) macaron.Handler {
return func(c *macaron.Context) {
h := c.Req.Host
if i := strings.Index(h, ":"); i >= 0 {
h = h[:i]
}
if !strings.EqualFold(h, domain) {
c.Redirect(strings.TrimSuffix(setting.AppUrl, "/")+c.Req.RequestURI, 301)
return
}
}
}