Skip to content

Commit

Permalink
bpo-42066: CookieJar cookies should not be sorted (GH-22745)
Browse files Browse the repository at this point in the history
  • Loading branch information
IKermani authored Apr 21, 2022
1 parent 031f1e6 commit 615b24c
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 12 deletions.
9 changes: 2 additions & 7 deletions Lib/http/cookiejar.py
Original file line number Diff line number Diff line change
Expand Up @@ -1224,14 +1224,9 @@ def path_return_ok(self, path, request):
_debug(" %s does not path-match %s", req_path, path)
return False

def vals_sorted_by_key(adict):
keys = sorted(adict.keys())
return map(adict.get, keys)

def deepvalues(mapping):
"""Iterates over nested mapping, depth-first, in sorted order by key."""
values = vals_sorted_by_key(mapping)
for obj in values:
"""Iterates over nested mapping, depth-first"""
for obj in list(mapping.values()):
mapping = False
try:
obj.items
Expand Down
10 changes: 5 additions & 5 deletions Lib/test/test_http_cookiejar.py
Original file line number Diff line number Diff line change
Expand Up @@ -1293,11 +1293,11 @@ def test_Cookie_iterator(self):
r'port="90,100, 80,8080"; '
r'max-age=100; Comment = "Just kidding! (\"|\\\\) "')

versions = [1, 1, 1, 0, 1]
names = ["bang", "foo", "foo", "spam", "foo"]
domains = [".sol.no", "blah.spam.org", "www.acme.com",
"www.acme.com", "www.acme.com"]
paths = ["/", "/", "/", "/blah", "/blah/"]
versions = [1, 0, 1, 1, 1]
names = ["foo", "spam", "foo", "foo", "bang"]
domains = ["blah.spam.org", "www.acme.com", "www.acme.com",
"www.acme.com", ".sol.no"]
paths = ["/", "/blah", "/blah/", "/", "/"]

for i in range(4):
i = 0
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Fix cookies getting sorted in :func:`CookieJar.__iter__` which is an extra behavior and not mentioned in RFC 2965 or Netscape cookie protocol.
Now the cookies in ``CookieJar`` follows the order of the ``Set-Cookie`` header. Patch by Iman Kermani.

0 comments on commit 615b24c

Please sign in to comment.