in elastictransport/discovery.go [192:214]
func (c *Client) getNodeURL(node nodeInfo, scheme string) *url.URL {
var (
host string
port string
addrs = strings.Split(node.HTTP.PublishAddress, "/")
ports = strings.Split(node.HTTP.PublishAddress, ":")
)
if len(addrs) > 1 {
host = addrs[0]
} else {
host = strings.Split(addrs[0], ":")[0]
}
port = ports[len(ports)-1]
u := &url.URL{
Scheme: scheme,
Host: host + ":" + port,
}
return u
}