﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
1095	[patch] SESSION_SAVE_EVERY_REQUEST causes errors when you hit the server with a redirect	Ian@…	Adrian Holovaty	"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
}}}"	defect	closed	Core (Other)		normal	fixed			Unreviewed	1	0	0	0	0	0
