ref: bc06135c96aa4db6fe36a4fc4f19a18fa1cb8935
parent: 45e3ed517a17648d54e8ce33618a8f251cfec603
author: Bjørn Erik Pedersen <[email protected]>
date: Sat Jan 7 14:29:20 EST 2017
helpers: Allow tilde in URLs See #2177
--- a/helpers/path.go
+++ b/helpers/path.go
@@ -124,7 +124,7 @@
for i, r := range source {
if r == '%' && i+2 < len(source) && ishex(source[i+1]) && ishex(source[i+2]) {
target = append(target, r)
- } else if unicode.IsLetter(r) || unicode.IsDigit(r) || unicode.IsMark(r) || r == '.' || r == '/' || r == '\\' || r == '_' || r == '-' || r == '#' || r == '+' {
+ } else if unicode.IsLetter(r) || unicode.IsDigit(r) || unicode.IsMark(r) || r == '.' || r == '/' || r == '\\' || r == '_' || r == '-' || r == '#' || r == '+' || r == '~' {
target = append(target, r)
}
}
--- a/helpers/path_test.go
+++ b/helpers/path_test.go
@@ -58,6 +58,8 @@
{"संस्कृत", "संस्कृत", false},
{"a%C3%B1ame", "a%C3%B1ame", false}, // Issue #1292
{"this+is+a+test", "this+is+a+test", false}, // Issue #1290
+ {"~foo", "~foo", false}, // Issue #2177
+
}
for _, test := range tests {