aboutsummaryrefslogtreecommitdiff
path: root/bytesconv.go
diff options
context:
space:
mode:
authorGravatar Aliaksandr Valialkin <valyala@gmail.com> 2015-12-23 19:26:48 +0200
committerGravatar Aliaksandr Valialkin <valyala@gmail.com> 2015-12-23 19:26:48 +0200
commiteb18481efb8673a67bf7843e6f97bccb66c3f65c (patch)
tree3f068f7d5cb9dc6d48a690661d285d049a0e6d9a /bytesconv.go
parentRemoved 'v interface{}' hack from structs managed via sync.Pool, since it has... (diff)
downloadfasthttp-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.go3
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))