Ticket #14103: django_utils_cache_honor_use_etags_plus_test.diff
File django_utils_cache_honor_use_etags_plus_test.diff, 1.9 KB (added by , 14 years ago) |
---|
-
django/utils/cache.py
101 101 cache_timeout = settings.CACHE_MIDDLEWARE_SECONDS 102 102 if cache_timeout < 0: 103 103 cache_timeout = 0 # Can't have max-age negative 104 if not response.has_header('ETag'):104 if settings.USE_ETAGS and not response.has_header('ETag'): 105 105 response['ETag'] = '"%s"' % md5_constructor(response.content).hexdigest() 106 106 if not response.has_header('Last-Modified'): 107 107 response['Last-Modified'] = http_date() -
tests/regressiontests/cache/tests.py
545 545 settings.CACHE_MIDDLEWARE_SECONDS = 60 546 546 settings.CACHE_MIDDLEWARE_KEY_PREFIX="test" 547 547 settings.CACHE_BACKEND='locmem:///' 548 settings.USE_ETAGS = True 548 549 settings.USE_I18N = True 549 550 en_message ="Hello world!" 550 551 es_message ="Hola mundo!" … … 555 556 # Check that we can recover the cache 556 557 self.assertNotEqual(get_cache_data.content, None) 557 558 self.assertEqual(en_message, get_cache_data.content) 559 # Check that we use etags 560 self.assertTrue(get_cache_data.has_header('ETag')) 561 # Check that we can disable etags 562 settings.USE_ETAGS = False 563 request._cache_update_cache = True 564 set_cache(request, 'en', en_message) 565 get_cache_data = FetchFromCacheMiddleware().process_request(request) 566 self.assertFalse(get_cache_data.has_header('ETag')) 558 567 # change the session language and set content 559 568 request = self._get_request_cache() 560 569 set_cache(request, 'es', es_message)