github.com/keysonzzz/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgNet/kmgHttp/url.go (about)

     1  package kmgHttp
     2  
     3  import (
     4  	"net/url"
     5  	"strings"
     6  )
     7  
     8  // @deprecated
     9  func AddParameterToUrl(urls string, key string, value string) (urlout string, err error) {
    10  	u, err := url.Parse(urls)
    11  	if err != nil {
    12  		return "", err
    13  	}
    14  	q := u.Query()
    15  	q.Add(key, value)
    16  	u.RawQuery = q.Encode()
    17  	return u.String(), nil
    18  }
    19  
    20  func SetParameterToUrl(urls string, key string, value string) (urlout string, err error) {
    21  	u, err := url.Parse(urls)
    22  	if err != nil {
    23  		return "", err
    24  	}
    25  	q := u.Query()
    26  	q.Set(key, value)
    27  	u.RawQuery = q.Encode()
    28  	return u.String(), nil
    29  }
    30  
    31  func MustSetParameterToUrl(urls string, key string, value string) (urlout string) {
    32  	u, err := SetParameterToUrl(urls, key, value)
    33  	if err != nil {
    34  		panic(err)
    35  	}
    36  	return u
    37  }
    38  
    39  func SetParameterMapToUrl(urls string, row map[string]string) (urlout string, err error) {
    40  	u, err := url.Parse(urls)
    41  	if err != nil {
    42  		return
    43  	}
    44  	q := u.Query()
    45  	for key, value := range row {
    46  		q.Set(key, value)
    47  	}
    48  	u.RawQuery = q.Encode()
    49  	return u.String(), nil
    50  }
    51  
    52  func MustSetParameterMapToUrl(urls string, row map[string]string) (urlout string) {
    53  	u, err := SetParameterMapToUrl(urls, row)
    54  	if err != nil {
    55  		panic(err)
    56  	}
    57  	return u
    58  }
    59  
    60  // @deprecated
    61  func GetDomainName(url string) (domainName string, protocol string) {
    62  	protocolList := []string{
    63  		"http://",
    64  		"https://",
    65  		"file://",
    66  		"ftp://",
    67  	}
    68  	for _, p := range protocolList {
    69  		if strings.HasPrefix(url, p) {
    70  			protocol = p
    71  			break
    72  		}
    73  	}
    74  	if protocol == "" {
    75  		return
    76  	}
    77  	domainName = strings.Replace(url, protocol, "", -1)
    78  	list := strings.Split(domainName, "/")
    79  	domainName = list[0]
    80  	return
    81  }