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 }