mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	[1.5.x] Fixed #19585 -- Fixed loading cookie value as a dict
This regression was introduced by the 'unicode_literals' patch.
Backport of f08e739bc2 from master.
			
			
This commit is contained in:
		| @@ -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 @@ else: | ||||
|         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 @@ class CookieTests(unittest.TestCase): | ||||
|         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') | ||||
|   | ||||
		Reference in New Issue
	
	Block a user