Permalink
Browse files

[1.5.x] Fixed #19585 -- Fixed loading cookie value as a dict

This regression was introduced by the 'unicode_literals' patch.
Backport of f08e739 from master.
  • Loading branch information...
1 parent b86c3dd commit 1d03ff06bbcc726c815f26f79067692019b2c71a @claudep claudep committed Jan 11, 2013
Showing with 8 additions and 1 deletion.
  1. +4 −1 django/http/cookie.py
  2. +4 −0 tests/regressiontests/httpwrappers/tests.py
@@ -1,6 +1,7 @@
from __future__ import absolute_import, unicode_literals
from django.utils.encoding import force_str
+from django.utils import six
from django.utils.six.moves import http_cookies
@@ -48,7 +49,9 @@ def value_encode(self, val):
if not _cookie_allows_colon_in_names:
def load(self, rawdata):
self.bad_cookies = set()
- super(SimpleCookie, self).load(force_str(rawdata))
+ if not six.PY3 and isinstance(rawdata, six.text_type):
+ rawdata = force_str(rawdata)
+ super(SimpleCookie, self).load(rawdata)
for key in self.bad_cookies:
del self[key]
@@ -588,3 +588,7 @@ def test_httponly_after_load(self):
c['name']['httponly'] = True
self.assertTrue(c['name']['httponly'])
+ def test_load_dict(self):
+ c = SimpleCookie()
+ c.load({'name': 'val'})
+ self.assertEqual(c['name'].value, 'val')

0 comments on commit 1d03ff0

Please sign in to comment.