[Repoze-checkins] r1627 - in repoze.who/trunk: . repoze/who/plugins

Chris McDonough chrism at agendaless.com
Sun Aug 17 16:54:21 EDT 2008


Author: Chris McDonough <chrism at agendaless.com>
Date: Sun Aug 17 16:54:20 2008
New Revision: 1627

Log:
 - Allowed 'cookie_path' argument to InsecureCookiePlugin (and config
   constructor).  Thanks to Gustavo Narea.



Modified:
   repoze.who/trunk/CHANGES.txt
   repoze.who/trunk/repoze/who/plugins/cookie.py

Modified: repoze.who/trunk/CHANGES.txt
==============================================================================
--- repoze.who/trunk/CHANGES.txt	(original)
+++ repoze.who/trunk/CHANGES.txt	Sun Aug 17 16:54:20 2008
@@ -1,6 +1,11 @@
 repoze.who changes
 ==================
 
+Next release
+
+ - Allowed 'cookie_path' argument to InsecureCookiePlugin (and config
+   constructor).  Thanks to Gustavo Narea.
+
 1.0.3 (2008/08/16)
 
  - A bug in the middleware's ``authenticate`` method made it

Modified: repoze.who/trunk/repoze/who/plugins/cookie.py
==============================================================================
--- repoze.who/trunk/repoze/who/plugins/cookie.py	(original)
+++ repoze.who/trunk/repoze/who/plugins/cookie.py	Sun Aug 17 16:54:20 2008
@@ -10,8 +10,9 @@
 
     implements(IIdentifier)
     
-    def __init__(self, cookie_name):
+    def __init__(self, cookie_name, cookie_path='/'):
         self.cookie_name = cookie_name
+        self.cookie_path = cookie_path
 
     # IIdentifier
     def identify(self, environ):
@@ -35,8 +36,8 @@
     # IIdentifier
     def forget(self, environ, identity):
         # return a expires Set-Cookie header
-        expired = ('%s=""; Path=/; Expires=Sun, 10-May-1971 11:59:00 GMT' %
-                   self.cookie_name)
+        expired = ('%s=""; Path=%s; Expires=Sun, 10-May-1971 11:59:00 GMT' %
+                   (self.cookie_name, self.cookie_path))
         return [('Set-Cookie', expired)]
     
     # IIdentifier
@@ -48,13 +49,14 @@
         value = getattr(existing, 'value', None)
         if value != cookie_value:
             # return a Set-Cookie header
-            set_cookie = '%s=%s; Path=/;' % (self.cookie_name, cookie_value)
+            set_cookie = '%s=%s; Path=%s;' % (self.cookie_name, cookie_value,
+                                              self.cookie_path)
             return [('Set-Cookie', set_cookie)]
 
     def __repr__(self):
         return '<%s %s>' % (self.__class__.__name__, id(self))
 
-def make_plugin(cookie_name='repoze.who.plugins.cookie'):
-    plugin = InsecureCookiePlugin(cookie_name)
+def make_plugin(cookie_name='repoze.who.plugins.cookie', cookie_path='/'):
+    plugin = InsecureCookiePlugin(cookie_name, cookie_path)
     return plugin
 


More information about the Repoze-checkins mailing list