Skip to content

Commit

Permalink
Fixed #1048 -- Fixed AttributeError in sessions framework when SESSIO…
Browse files Browse the repository at this point in the history
…N_SAVE_EVERY_REQUEST is True and no cookie has been set yet. Thanks, Jiri Barton

git-svn-id: http://code.djangoproject.com/svn/django/trunk@1978 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information
adrianholovaty committed Jan 15, 2006
1 parent e0af20f commit 44e6ce6
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 8 deletions.
1 change: 1 addition & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ answer newbie questions, and generally made Django that much better:
Andreas
David Ascher <http://ascher.ca/>
Arthur <avandorp@gmail.com>
Jiri Barton
James Bennett
Paul Bissex <http://e-scribe.com/>
Simon Blanchard
Expand Down
17 changes: 9 additions & 8 deletions django/middleware/sessions.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,13 @@ def process_response(self, request, response):
try:
modified = request.session.modified
except AttributeError:
modified = False
if modified or SESSION_SAVE_EVERY_REQUEST:
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, expires=expires, domain=SESSION_COOKIE_DOMAIN)
pass
else:
if modified or SESSION_SAVE_EVERY_REQUEST:
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, expires=expires, domain=SESSION_COOKIE_DOMAIN)
return response

0 comments on commit 44e6ce6

Please sign in to comment.