diff options
| author | Rémy HUBSCHER <remy@chefclub.tv> | 2020-01-23 18:02:31 +0100 |
|---|---|---|
| committer | Rémy HUBSCHER <remy@chefclub.tv> | 2020-01-23 18:02:31 +0100 |
| commit | 9ebfc6f04b52e24de56daf93a62ef76dfb54f832 (patch) | |
| tree | 27b806460bf33a518452d9a9c4f05ba671b77a02 /webtest | |
| parent | f01ed4b08f456fa4b9767254af12da70bde73d41 (diff) | |
| download | webtest-9ebfc6f04b52e24de56daf93a62ef76dfb54f832.tar.gz | |
Add queryparams to the head method.
Fixes #220.
Diffstat (limited to 'webtest')
| -rw-r--r-- | webtest/app.py | 12 | ||||
| -rw-r--r-- | webtest/utils.py | 11 |
2 files changed, 15 insertions, 8 deletions
diff --git a/webtest/app.py b/webtest/app.py index 2116efe..af077bd 100644 --- a/webtest/app.py +++ b/webtest/app.py @@ -315,13 +315,7 @@ class TestApp(object): url = str(url) url = self._remove_fragment(url) if params: - if not isinstance(params, string_types): - params = urlencode(params, doseq=True) - if str('?') in url: - url += str('&') - else: - url += str('?') - url += params + url = utils.build_params(url, params) if str('?') in url: url, environ['QUERY_STRING'] = url.split(str('?'), 1) else: @@ -448,7 +442,7 @@ class TestApp(object): upload_files=None, expect_errors=expect_errors) - def head(self, url, headers=None, extra_environ=None, + def head(self, url, params=None, headers=None, extra_environ=None, status=None, expect_errors=False, xhr=False): """ Do a HEAD request. Similar to :meth:`~webtest.TestApp.get`. @@ -456,6 +450,8 @@ class TestApp(object): :returns: :class:`webtest.TestResponse` instance. """ + if params: + url = utils.build_params(url, params) if xhr: headers = self._add_xhr_header(headers) return self._gen_request('HEAD', url, headers=headers, diff --git a/webtest/utils.py b/webtest/utils.py index 9ae1377..d8f1f7f 100644 --- a/webtest/utils.py +++ b/webtest/utils.py @@ -80,6 +80,17 @@ def encode_params(params, content_type): return params +def build_params(url, params): + if not isinstance(params, six.string_types): + params = urlencode(params, doseq=True) + if str('?') in url: + url += str('&') + else: + url += str('?') + url += params + return url + + def make_pattern(pat): """Find element pattern can be a regex or a callable.""" if pat is None: |
