From 6bcf29c0ed39904cd28cf9ab97fa75c5c0f4d32c Mon Sep 17 00:00:00 2001 From: Eric Entzel Date: Mon, 11 Feb 2013 13:22:25 +1100 Subject: Keep blank URL parameters TODO: This should probably be configurable --- libmproxy/utils.py | 2 +- test/test_console_contentview.py | 4 +++- test/test_flow.py | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/libmproxy/utils.py b/libmproxy/utils.py index 6e804887..b2258b15 100644 --- a/libmproxy/utils.py +++ b/libmproxy/utils.py @@ -67,7 +67,7 @@ def urldecode(s): """ Takes a urlencoded string and returns a list of (key, value) tuples. """ - return cgi.parse_qsl(s) + return cgi.parse_qsl(s, keep_blank_values=True) def urlencode(s): diff --git a/test/test_console_contentview.py b/test/test_console_contentview.py index 8a5dabb8..77178842 100644 --- a/test/test_console_contentview.py +++ b/test/test_console_contentview.py @@ -58,7 +58,9 @@ class TestContentView: d = utils.urlencode([("one", "two"), ("three", "four")]) v = cv.ViewURLEncoded() assert v([], d, 100) - assert not v([], "foo", 100) + d = utils.urlencode([("adsfa", "")]) + v = cv.ViewURLEncoded() + assert v([], d, 100) def test_view_html(self): v = cv.ViewHTML() diff --git a/test/test_flow.py b/test/test_flow.py index da5b095e..0c713c03 100644 --- a/test/test_flow.py +++ b/test/test_flow.py @@ -807,7 +807,7 @@ class TestRequest: r = flow.Request(None, (1, 1), "host", 22, "https", "GET", "/?adsfa", h, "content") q = r.get_query() - assert not q + assert q.lst == [("adsfa", "")] r = flow.Request(None, (1, 1), "host", 22, "https", "GET", "/foo?x=y&a=b", h, "content") assert r.get_query() -- cgit v1.2.3