Pass also response during Cookie instantiation
authorSofia Papagiannaki <papagian@gmail.com>
Tue, 27 Nov 2012 15:10:18 +0000 (17:10 +0200)
committerSofia Papagiannaki <papagian@gmail.com>
Tue, 27 Nov 2012 15:10:18 +0000 (17:10 +0200)
snf-astakos-app/astakos/im/cookie.py
snf-astakos-app/astakos/im/middleware.py

index 519b352..693301e 100644 (file)
@@ -45,11 +45,12 @@ from astakos.im.settings import (
 logger = logging.getLogger(__name__)
 
 class Cookie():
-    def __init__(self, request):
+    def __init__(self, request, response):
         cookies = getattr(request, 'COOKIES', {})
         cookie = unquote(cookies.get(COOKIE_NAME, ''))
         self.email, sep, self.auth_token = cookie.partition('|')
         self.request = request
+        self.response = response
     
     @property
     def is_set(self):
@@ -80,10 +81,10 @@ class Cookie():
         msg = 'Cookie deleted for %(email)s' % self.__dict__
         logger._log(LOGGING_LEVEL, msg, [])
     
-    def fix(self, response):
+    def fix(self):
         if self.user.is_authenticated():
             if not self.is_set or not self.is_valid:
-                self.__set(response)
+                self.__set(self.response)
         else:
             if self.is_set:
-                self.__delete(response)
\ No newline at end of file
+                self.__delete(self.response)
\ No newline at end of file
index 4c75d38..625ad03 100644 (file)
@@ -35,5 +35,5 @@ from astakos.im.cookie import Cookie
 
 class CookieAuthenticationMiddleware(object):
     def process_response(self, request, response):
-        Cookie(request).fix(response)
+        Cookie(request, response).fix()
         return response
\ No newline at end of file