summaryrefslogtreecommitdiff
path: root/webtest
diff options
context:
space:
mode:
authorRémy HUBSCHER <remy@chefclub.tv>2020-01-23 18:02:31 +0100
committerRémy HUBSCHER <remy@chefclub.tv>2020-01-23 18:02:31 +0100
commit9ebfc6f04b52e24de56daf93a62ef76dfb54f832 (patch)
tree27b806460bf33a518452d9a9c4f05ba671b77a02 /webtest
parentf01ed4b08f456fa4b9767254af12da70bde73d41 (diff)
downloadwebtest-9ebfc6f04b52e24de56daf93a62ef76dfb54f832.tar.gz
Add queryparams to the head method.
Fixes #220.
Diffstat (limited to 'webtest')
-rw-r--r--webtest/app.py12
-rw-r--r--webtest/utils.py11
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: