This commit is contained in:
Maximilian Hils 2016-02-16 02:02:40 +01:00
commit 2d569527f2
2 changed files with 13 additions and 5 deletions

View File

@ -192,7 +192,8 @@ class Request(Message):
def query(self, odict):
query = utils.urlencode(odict.lst)
scheme, netloc, path, params, _, fragment = urllib.parse.urlparse(self.url)
self.url = urllib.parse.urlunparse([scheme, netloc, path, params, query, fragment])
_, _, _, self.path = utils.parse_url(
urllib.parse.urlunparse([scheme, netloc, path, params, query, fragment]))
@property
def cookies(self):
@ -223,7 +224,8 @@ class Request(Message):
components = map(lambda x: urllib.parse.quote(x, safe=""), components)
path = "/" + "/".join(components)
scheme, netloc, _, params, query, fragment = urllib.parse.urlparse(self.url)
self.url = urllib.parse.urlunparse([scheme, netloc, path, params, query, fragment])
_, _, _, self.path = utils.parse_url(
urllib.parse.urlunparse([scheme, netloc, path, params, query, fragment]))
def anticache(self):
"""
@ -350,4 +352,5 @@ class Request(Message):
@form_out.setter
def form_out(self, form_out): # pragma: nocover
warnings.warn(".form_out is deprecated, use .first_line_format instead.", DeprecationWarning)
self.first_line_format = form_out
self.first_line_format = form_out

View File

@ -136,8 +136,10 @@ class TestRequestUtils(object):
assert request.query.lst == [("bar", "42")]
def test_set_query(self):
request = treq()
request = treq(host=b"foo", headers = Headers(host=b"bar"))
request.query = ODict([])
assert request.host == b"foo"
assert request.headers["host"] == b"bar"
def test_get_cookies_none(self):
request = treq()
@ -180,11 +182,14 @@ class TestRequestUtils(object):
assert request.path_components == ["foo", "bar"]
def test_set_path_components(self):
request = treq()
request = treq(host=b"foo", headers = Headers(host=b"bar"))
request.path_components = ["foo", "baz"]
assert request.path == "/foo/baz"
request.path_components = []
assert request.path == "/"
request.query = ODict([])
assert request.host == b"foo"
assert request.headers["host"] == b"bar"
def test_anticache(self):
request = treq()