Skip to content

Commit

Permalink
bpo-991266: Fix quoting of Comment attribute of SimpleCookie (GH-6555)
Browse files Browse the repository at this point in the history
(cherry picked from commit d5a2377)

Co-authored-by: Berker Peksag <berker.peksag@gmail.com>
  • Loading branch information
miss-islington and berkerpeksag committed Apr 23, 2018
1 parent f900503 commit 9fc998d
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Lib/http/cookies.py
Expand Up @@ -408,6 +408,8 @@ def OutputString(self, attrs=None):
append("%s=%s" % (self._reserved[key], _getdate(value)))
elif key == "max-age" and isinstance(value, int):
append("%s=%d" % (self._reserved[key], value))
elif key == "comment" and isinstance(value, str):
append("%s=%s" % (self._reserved[key], _quote(value)))
elif key in self._flags:
if value:
append(str(self._reserved[key]))
Expand Down
10 changes: 10 additions & 0 deletions Lib/test/test_http_cookies.py
Expand Up @@ -207,6 +207,16 @@ def test_illegal_chars(self):
with self.assertRaises(cookies.CookieError):
C.load(rawdata)

def test_comment_quoting(self):
c = cookies.SimpleCookie()
c['foo'] = '\N{COPYRIGHT SIGN}'
self.assertEqual(str(c['foo']), 'Set-Cookie: foo="\\251"')
c['foo']['comment'] = 'comment \N{COPYRIGHT SIGN}'
self.assertEqual(
str(c['foo']),
'Set-Cookie: foo="\\251"; Comment="comment \\251"'
)


class MorselTests(unittest.TestCase):
"""Tests for the Morsel object."""
Expand Down
@@ -0,0 +1 @@
Fix quoting of the ``Comment`` attribute of :class:`http.cookies.SimpleCookie`.

0 comments on commit 9fc998d

Please sign in to comment.