mirror of
https://github.com/miniflux/v2.git
synced 2025-08-11 17:51:01 +00:00
Normalize URL query string before executing HTTP requests
- Make sure query strings parameters are encoded - As opposed to the standard library, do not append equal sign for query parameters with empty value - Strip URL fragments like Web browsers
This commit is contained in:
parent
200b1c304b
commit
3debf75eb9
8 changed files with 128 additions and 26 deletions
|
@ -71,3 +71,25 @@ func TestDomain(t *testing.T) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestRequestURI(t *testing.T) {
|
||||
scenarios := map[string]string{
|
||||
"https://www.example.org": "https://www.example.org",
|
||||
"https://user:password@www.example.org": "https://user:password@www.example.org",
|
||||
"https://www.example.org/path with spaces": "https://www.example.org/path%20with%20spaces",
|
||||
"https://www.example.org/path#test": "https://www.example.org/path",
|
||||
"https://www.example.org/path?abc#test": "https://www.example.org/path?abc",
|
||||
"https://www.example.org/path?a=b&a=c": "https://www.example.org/path?a=b&a=c",
|
||||
"https://www.example.org/path?a=b&a=c&d": "https://www.example.org/path?a=b&a=c&d",
|
||||
"https://www.example.org/path?atom": "https://www.example.org/path?atom",
|
||||
"https://www.example.org/path?测试=测试": "https://www.example.org/path?%E6%B5%8B%E8%AF%95=%E6%B5%8B%E8%AF%95",
|
||||
"https://www.example.org/url=http%3A%2F%2Fwww.example.com%2Ffeed%2F&max=20": "https://www.example.org/url=http%3A%2F%2Fwww.example.com%2Ffeed%2F&max=20",
|
||||
}
|
||||
|
||||
for input, expected := range scenarios {
|
||||
actual := RequestURI(input)
|
||||
if actual != expected {
|
||||
t.Errorf(`Unexpected result, got %q instead of %q`, actual, expected)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue