summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2005-11-01 01:02:07 +0000
committerAdrian Holovaty <adrian@holovaty.com>2005-11-01 01:02:07 +0000
commit390666ac2bf8223bede4f78a97836051bc9f9526 (patch)
treea6279a4752e604cd60a4e09bc1d353d6044a432c /django
parent41d5cff745c26eab9a0b6ff29d2addfef7c5303a (diff)
Fixed #508 -- Added support for 'expires' in cookies and changed session middleware to set 'expires' in addition to 'max_age'. Thanks, mark@junklight.com
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1035 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/middleware/sessions.py3
-rw-r--r--django/utils/httpwrappers.py4
2 files changed, 4 insertions, 3 deletions
diff --git a/django/middleware/sessions.py b/django/middleware/sessions.py
index 42b2118410..8b9f21f78d 100644
--- a/django/middleware/sessions.py
+++ b/django/middleware/sessions.py
@@ -71,6 +71,7 @@ class SessionMiddleware:
session_key = request.session.session_key or sessions.get_new_session_key()
new_session = sessions.save(session_key, request.session._session,
datetime.datetime.now() + datetime.timedelta(seconds=SESSION_COOKIE_AGE))
+ expires = datetime.datetime.strftime(datetime.datetime.utcnow() + datetime.timedelta(seconds=SESSION_COOKIE_AGE), "%a, %d-%b-%Y %H:%M:%S GMT")
response.set_cookie(SESSION_COOKIE_NAME, session_key,
- max_age=SESSION_COOKIE_AGE, domain=SESSION_COOKIE_DOMAIN)
+ max_age=SESSION_COOKIE_AGE, expires=expires, domain=SESSION_COOKIE_DOMAIN)
return response
diff --git a/django/utils/httpwrappers.py b/django/utils/httpwrappers.py
index 5f9362bd24..c1aa9d6ee1 100644
--- a/django/utils/httpwrappers.py
+++ b/django/utils/httpwrappers.py
@@ -172,9 +172,9 @@ class HttpResponse:
return True
return False
- def set_cookie(self, key, value='', max_age=None, path='/', domain=None, secure=None):
+ def set_cookie(self, key, value='', max_age=None, expires=None, path='/', domain=None, secure=None):
self.cookies[key] = value
- for var in ('max_age', 'path', 'domain', 'secure'):
+ for var in ('max_age', 'path', 'domain', 'secure', 'expires'):
val = locals()[var]
if val is not None:
self.cookies[key][var.replace('_', '-')] = val