diff options
author | Aliaksandr Valialkin <valyala@gmail.com> | 2015-12-23 19:26:48 +0200 |
---|---|---|
committer | Aliaksandr Valialkin <valyala@gmail.com> | 2015-12-23 19:26:48 +0200 |
commit | eb18481efb8673a67bf7843e6f97bccb66c3f65c (patch) | |
tree | 3f068f7d5cb9dc6d48a690661d285d049a0e6d9a /bytesconv.go | |
parent | Removed 'v interface{}' hack from structs managed via sync.Pool, since it has... (diff) | |
download | fasthttp-eb18481efb8673a67bf7843e6f97bccb66c3f65c.tar.gz fasthttp-eb18481efb8673a67bf7843e6f97bccb66c3f65c.tar.bz2 fasthttp-eb18481efb8673a67bf7843e6f97bccb66c3f65c.zip |
Escape query args chars according to http://www.w3.org/TR/html5/forms.html#form-submission-algorithm
Diffstat (limited to 'bytesconv.go')
-rw-r--r-- | bytesconv.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/bytesconv.go b/bytesconv.go index 1ac46c3..216e0ea 100644 --- a/bytesconv.go +++ b/bytesconv.go @@ -311,8 +311,9 @@ func unsafeBytesToStr(b []byte) string { func appendQuotedArg(dst, v []byte) []byte { for _, c := range v { + // See http://www.w3.org/TR/html5/forms.html#form-submission-algorithm if c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || - c == '/' || c == '.' || c == ',' || c == ':' || c == '-' || c == '_' { + c == '*' || c == '-' || c == '.' || c == '_' { dst = append(dst, c) } else { dst = append(dst, '%', hexCharUpper(c>>4), hexCharUpper(c&15)) |