mirror of
https://github.com/kataras/iris.git
synced 2025-03-13 21:36:28 +01:00
Context.GetDomain: use net.SplitHostPort better
Former-commit-id: e0a13062f9c4d37e48a82367d23bc16be8f1d1ce
This commit is contained in:
parent
c32dd0d95c
commit
cbe336a583
|
@ -1942,21 +1942,23 @@ func (ctx *context) GetHeader(name string) string {
|
|||
|
||||
// GetDomain resolves and returns the server's domain.
|
||||
func (ctx *context) GetDomain() string {
|
||||
host := ctx.Host()
|
||||
if portIdx := strings.IndexByte(host, ':'); portIdx > 0 {
|
||||
host = host[0:portIdx]
|
||||
}
|
||||
hostport := ctx.Host()
|
||||
if host, _, err := net.SplitHostPort(hostport); err == nil {
|
||||
// has port.
|
||||
switch host {
|
||||
case "127.0.0.1", "0.0.0.0", "::1", "[::1]", "0:0:0:0:0:0:0", "0:0:0:0:0:0:1":
|
||||
// loopback.
|
||||
return "localhost"
|
||||
default:
|
||||
if domain, err := publicsuffix.EffectiveTLDPlusOne(host); err == nil {
|
||||
host = domain
|
||||
}
|
||||
|
||||
switch host {
|
||||
case "127.0.0.1", "0.0.0.0", "::1", "[::1]", "0:0:0:0:0:0:0", "0:0:0:0:0:0:1":
|
||||
return "localhost"
|
||||
default:
|
||||
if domain, err := publicsuffix.EffectiveTLDPlusOne(host); err == nil {
|
||||
host = domain
|
||||
return host
|
||||
}
|
||||
|
||||
return host
|
||||
}
|
||||
|
||||
return hostport
|
||||
}
|
||||
|
||||
// IsAjax returns true if this request is an 'ajax request'( XMLHttpRequest)
|
||||
|
|
Loading…
Reference in New Issue
Block a user