aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--netlib/http_cookies.py14
-rw-r--r--test/test_http_cookies.py6
2 files changed, 9 insertions, 11 deletions
diff --git a/netlib/http_cookies.py b/netlib/http_cookies.py
index a1f240f5..297efb80 100644
--- a/netlib/http_cookies.py
+++ b/netlib/http_cookies.py
@@ -88,14 +88,12 @@ def _read_value(s, start, delims):
return _read_until(s, start, delims)
-def _read_pairs(s, off=0, term=None, specials=()):
+def _read_pairs(s, off=0, specials=()):
"""
Read pairs of lhs=rhs values.
off: start offset
- term: if True, treat a comma as a terminator for the pairs lists
- specials: a lower-cased list of keys that may contain commas if term is
- True
+ specials: a lower-cased list of keys that may contain commas
"""
vals = []
while 1:
@@ -105,17 +103,11 @@ def _read_pairs(s, off=0, term=None, specials=()):
rhs = None
if off < len(s):
if s[off] == "=":
- if term and lhs.lower() not in specials:
- delims = ";,"
- else:
- delims = ";"
- rhs, off = _read_value(s, off+1, delims)
+ rhs, off = _read_value(s, off+1, ";")
vals.append([lhs, rhs])
off += 1
if not off < len(s):
break
- if term and s[off-1] == ",":
- break
return vals, off
diff --git a/test/test_http_cookies.py b/test/test_http_cookies.py
index c0e5a5b7..ad509254 100644
--- a/test/test_http_cookies.py
+++ b/test/test_http_cookies.py
@@ -156,6 +156,12 @@ def test_parse_set_cookie_pairs():
]
],
[
+ "one=un\x20",
+ [
+ ["one", "un\x20"]
+ ]
+ ],
+ [
"one=uno; foo",
[
["one", "uno"],