0001-fix-in-variadic-URL-8889.patch
tests/test_variadic_url.py | ||
---|---|---|
64 | 64 |
assert get_variadic_url('[url]/foobar', |
65 | 65 |
{'url': 'http://www.example.net'}) == 'http://www.example.net/foobar' |
66 | 66 | |
67 |
def test_url_server_qs_without_slash(): |
|
68 |
assert get_variadic_url('[url]?foo=bar', |
|
69 |
{'url': 'http://www.example.net/'}) == 'http://www.example.net/?foo=bar' |
|
70 | ||
67 | 71 |
def test_url_server_more(): |
68 | 72 |
assert get_variadic_url('[url]/foobar/json?toto', |
69 | 73 |
{'url': 'http://www.example.net'}) == 'http://www.example.net/foobar/json?toto' |
... | ... | |
80 | 84 |
assert get_variadic_url('[url]', |
81 | 85 |
{'url': 'http://www.example.net/?foo=bar'}) == 'http://www.example.net/?foo=bar' |
82 | 86 | |
87 |
def test_url_whole_with_qs_2(): |
|
88 |
for url in ('[url]?bar=foo', '[url]&bar=foo', '[url]/?bar=foo'): |
|
89 |
assert get_variadic_url(url, {'url': 'http://www.example.net/?foo=bar'}) in \ |
|
90 |
('http://www.example.net/?bar=foo&foo=bar', 'http://www.example.net/?foo=bar&bar=foo') |
|
91 | ||
83 | 92 |
def test_path_missing_var(): |
84 | 93 |
assert get_variadic_url('http://www.example.net/foobar/[path]', |
85 | 94 |
{}) == 'http://www.example.net/foobar/[path]' |
wcs/qommon/misc.py | ||
---|---|---|
321 | 321 |
p2 = urlparse.urlsplit(before_path) |
322 | 322 |
scheme, netloc = p2.scheme, p2.netloc |
323 | 323 |
if p2.path and not path: |
324 |
path, query = p2.path, p2.query |
|
324 |
path, query2 = p2.path, p2.query |
|
325 |
if query and query2: |
|
326 |
query += '&' + query2 |
|
327 |
else: |
|
328 |
query = query or query2 |
|
325 | 329 |
if path: |
326 | 330 |
path = partial_quote(ezt_substitute(path, variables)) |
327 | 331 |
if fragment and '[' in fragment: |
328 |
- |