[Repoze-checkins] r1125 - in repoze.accelerator/trunk/repoze/accelerator: . tests

Tres Seaver tseaver at palladion.com
Sun Jun 22 21:37:20 EDT 2008


Author: Tres Seaver <tseaver at palladion.com>
Date: Sun Jun 22 21:37:20 2008
New Revision: 1125

Log:
Fix bugs where CC header was missing the 'max-age' discriminator.

Modified:
   repoze.accelerator/trunk/repoze/accelerator/policy.py
   repoze.accelerator/trunk/repoze/accelerator/tests/test_policy.py

Modified: repoze.accelerator/trunk/repoze/accelerator/policy.py
==============================================================================
--- repoze.accelerator/trunk/repoze/accelerator/policy.py	(original)
+++ repoze.accelerator/trunk/repoze/accelerator/policy.py	Sun Jun 22 21:37:20 2008
@@ -173,7 +173,7 @@
         if cc_header:
             cc_parts = parse_cache_control_header(cc_header)
             try:
-                if int(cc_parts.get('max-age')) == 0:
+                if int(cc_parts.get('max-age', '0')) == 0:
                     return
             except ValueError:
                 return
@@ -343,7 +343,7 @@
                 key, val = [ x.strip() for x in part.split('=', 1) ]
                 cc_parts[key] = val
             else:
-                cc_parts[key] = None
+                cc_parts[part] = None
     return cc_parts
 
 def asbool(val):

Modified: repoze.accelerator/trunk/repoze/accelerator/tests/test_policy.py
==============================================================================
--- repoze.accelerator/trunk/repoze/accelerator/tests/test_policy.py	(original)
+++ repoze.accelerator/trunk/repoze/accelerator/tests/test_policy.py	Sun Jun 22 21:37:20 2008
@@ -91,6 +91,15 @@
         result = policy.store('200 OK', headers, environ)
         self.assertEqual(result, None)
 
+    def test_store_not_cacheable_maxage_None(self):
+        storage = DummyStorage()
+        policy = self._makeOne(storage)
+        environ = self._makeEnviron()
+        headers = self._makeHeaders()
+        headers.append(('Cache-Control', 'public'))
+        result = policy.store('200 OK', headers, environ)
+        self.assertEqual(result, None)
+
     def test_store_not_cacheable_nostore_https_responses(self):
         storage = DummyStorage()
         policy = self._makeOne(storage)


More information about the Repoze-checkins mailing list