Fixed #28104 -- Prevented condition decorator from setting ETag/Last-Modified headers for non-safe requests.

This commit is contained in:
Josh Schneier 2017-06-06 15:37:14 -04:00 committed by Tim Graham
parent 268a646353
commit 37c9b81ebc
3 changed files with 30 additions and 12 deletions

View file

@ -19,10 +19,14 @@ class ConditionalGet(SimpleTestCase):
def assertFullResponse(self, response, check_last_modified=True, check_etag=True):
self.assertEqual(response.status_code, 200)
self.assertEqual(response.content, FULL_RESPONSE.encode())
if check_last_modified:
self.assertEqual(response['Last-Modified'], LAST_MODIFIED_STR)
if check_etag:
self.assertEqual(response['ETag'], ETAG)
if response.request['REQUEST_METHOD'] in ('GET', 'HEAD'):
if check_last_modified:
self.assertEqual(response['Last-Modified'], LAST_MODIFIED_STR)
if check_etag:
self.assertEqual(response['ETag'], ETAG)
else:
self.assertNotIn('Last-Modified', response)
self.assertNotIn('ETag', response)
def assertNotModified(self, response):
self.assertEqual(response.status_code, 304)