Opened 20 years ago
Closed 19 years ago
#1095 closed defect (fixed)
[patch] SESSION_SAVE_EVERY_REQUEST causes errors when you hit the server with a redirect
| Reported by: | Owned by: | Adrian Holovaty | |
|---|---|---|---|
| Component: | Core (Other) | Version: | |
| Severity: | normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
i've been playing a bit with the session cookie, and noticed that if you don't have a initial cookie and one isn't set by the request (ie..it's a redirect) then you will get a attribute error as there is no request.session object
fix:
Index: sessions.py
===================================================================
--- sessions.py (revision 1749)
+++ sessions.py (working copy)
@@ -68,10 +68,13 @@
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)
+ try:
+ 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)
+ except AttributeError:
+ pass
return response
Change History (2)
comment:1 by , 20 years ago
| Summary: | SESSION_SAVE_EVERY_REQUEST causes errors when you hit the server with a redirect → [patch] SESSION_SAVE_EVERY_REQUEST causes errors when you hit the server with a redirect |
|---|
comment:2 by , 19 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
This was fixed somewhere between [1866] and [1979].