Fixed #23695 -- Made condition decorator work for HEAD requests without ETag.
This commit is contained in:
parent
0e16c3e3cd
commit
9f1202c166
|
@ -139,7 +139,7 @@ def condition(etag_func=None, last_modified_func=None):
|
|||
}
|
||||
)
|
||||
response = HttpResponse(status=412)
|
||||
elif (not if_none_match and request.method == "GET" and
|
||||
elif (not if_none_match and request.method in ("GET", "HEAD") and
|
||||
res_last_modified and if_modified_since and
|
||||
res_last_modified <= if_modified_since):
|
||||
response = HttpResponseNotModified()
|
||||
|
|
|
@ -124,6 +124,11 @@ class ConditionalGet(TestCase):
|
|||
response = self.client.get('/condition/last_modified2/')
|
||||
self.assertFullResponse(response, check_etag=False)
|
||||
|
||||
def test_single_condition_head(self):
|
||||
self.client.defaults['HTTP_IF_MODIFIED_SINCE'] = LAST_MODIFIED_STR
|
||||
response = self.client.head('/condition/')
|
||||
self.assertNotModified(response)
|
||||
|
||||
def test_invalid_etag(self):
|
||||
self.client.defaults['HTTP_IF_NONE_MATCH'] = r'"\"'
|
||||
response = self.client.get('/condition/etag/')
|
||||
|
|
Loading…
Reference in New Issue