url.go 387 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package common

import (
	"fmt"
	"net/url"
	"strings"
)

func GetHost(someURL string) (string, error) {
	// Add scheme if not present
	if !strings.Contains(someURL, "://") {
		someURL = "dummy://" + someURL
	}
	url, err := url.Parse(someURL)
	if err != nil {
		return "", err
	}
	if url.Host == "" {
		return "", fmt.Errorf("no host found in URL %q", someURL)
	}
	return url.Host, nil
}