helpers: Allow tilde in URLs

See #2177
This commit is contained in:
Bjørn Erik Pedersen 2017-01-07 19:29:20 +01:00
parent 45e3ed517a
commit bc06135c96
2 changed files with 3 additions and 1 deletions

View file

@ -124,7 +124,7 @@ func (p *PathSpec) UnicodeSanitize(s string) string {
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)
}
}

View file

@ -58,6 +58,8 @@ func TestMakePath(t *testing.T) {
{"संस्कृत", "संस्कृत", 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 {