in cmd/network.go [104:131]
func encodeRequestParams(params url.Values) string {
if params == nil {
return ""
}
keys := make([]string, 0, len(params))
for key := range params {
keys = append(keys, key)
}
sort.Strings(keys)
var buf bytes.Buffer
for _, key := range keys {
value := params.Get(key)
if buf.Len() > 0 {
buf.WriteByte('&')
}
buf.WriteString(key)
buf.WriteString("=")
escaped := url.QueryEscape(value)
// we need to ensure + (representing a space) is encoded as %20
escaped = strings.Replace(escaped, "+", "%20", -1)
// we need to ensure * is not escaped
escaped = strings.Replace(escaped, "%2A", "*", -1)
buf.WriteString(escaped)
}
return buf.String()
}