fix Context issue

Signed-off-by: Shawn Chen <chen8132@gmail.com>
This commit is contained in:
Shawn Chen 2019-03-04 17:48:32 +08:00
parent ae91d1f429
commit 3390f32aec
6 changed files with 259 additions and 24 deletions

View file

@ -4,13 +4,13 @@ import (
"bytes"
srand "crypto/rand"
"encoding/binary"
"encoding/json"
"fmt"
"math/rand"
"net/http"
"net/url"
"sort"
"time"
"fmt"
"encoding/json"
)
const dictionary = "_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
@ -66,6 +66,34 @@ func Encode(v url.Values) string {
return buf.String()
}
// Like Encode, but key and value are not escaped
func EncodeWithoutEscape(v url.Values) string {
if v == nil {
return ""
}
var buf bytes.Buffer
keys := make([]string, 0, len(v))
for k := range v {
keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
vs := v[k]
prefix := k
for _, v := range vs {
if buf.Len() > 0 {
buf.WriteByte('&')
}
buf.WriteString(prefix)
if v != "" {
buf.WriteString("=")
buf.WriteString(v)
}
}
}
return buf.String()
}
func GetGMTime() string {
return time.Now().UTC().Format(http.TimeFormat)
}
@ -148,11 +176,10 @@ func GenerateRandomECSPassword() string {
}
func PrettyJson(object interface{}) string {
b,err := json.MarshalIndent(object,"", " ")
b, err := json.MarshalIndent(object, "", " ")
if err != nil {
fmt.Printf("ERROR: PrettyJson, %v\n %s\n",err,b)
fmt.Printf("ERROR: PrettyJson, %v\n %s\n", err, b)
}
return string(b)
}
}