Made CookieStorage account for the overhead added by the underlying cookie encoding
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12285 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
7f944a2b68
commit
63d072581c
|
@ -86,7 +86,12 @@ class CookieStorage(BaseStorage):
|
||||||
unstored_messages = []
|
unstored_messages = []
|
||||||
encoded_data = self._encode(messages)
|
encoded_data = self._encode(messages)
|
||||||
if self.max_cookie_size:
|
if self.max_cookie_size:
|
||||||
while encoded_data and len(encoded_data) > self.max_cookie_size:
|
# data is going to be stored eventually by CompatCookie, which
|
||||||
|
# adds it's own overhead, which we must account for.
|
||||||
|
def stored_length(val):
|
||||||
|
return len(CompatCookie().value_encode(val)[1])
|
||||||
|
|
||||||
|
while encoded_data and stored_length(encoded_data) > self.max_cookie_size:
|
||||||
if remove_oldest:
|
if remove_oldest:
|
||||||
unstored_messages.append(messages.pop(0))
|
unstored_messages.append(messages.pop(0))
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue