authorizer/server/utils/urls.go
Lakhan Samani f88363e6dc
feat: login wall (#42)
* feat: add login-wall app

* fix: rename vars

* fix: rename vars

* update docker file

* add validations for app state

* add host check for app

* fix: docker file
2021-08-04 12:18:57 +05:30

51 lines
776 B
Go

package utils
import (
"net/url"
"strings"
)
// function to get hostname
func GetHostName(auth_url string) string {
u, err := url.Parse(auth_url)
if err != nil {
return `localhost`
}
host := u.Hostname()
return host
}
// function to get domain name
func GetDomainName(auth_url string) string {
u, err := url.Parse(auth_url)
if err != nil {
return `localhost`
}
host := u.Hostname()
// code to get root domain in case of sub-domains
hostParts := strings.Split(host, ".")
hostPartsLen := len(hostParts)
if hostPartsLen == 1 {
return host
}
if hostPartsLen == 2 {
if hostParts[0] == "www" {
return hostParts[1]
} else {
return host
}
}
if hostPartsLen > 2 {
return strings.Join(hostParts[hostPartsLen-2:], ".")
}
return host
}