mirror of https://github.com/django/django.git
Fixed #3206 -- Changed ETag comparison to only return 304 when the normal
status code would be in the range 200 - 299. This matches RFC 2616 requirements. Based on a patch from Vinay Sajip. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5407 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
9b94115843
commit
63a1304f54
|
@ -75,7 +75,7 @@ class CommonMiddleware(object):
|
||||||
# Use ETags, if requested.
|
# Use ETags, if requested.
|
||||||
if settings.USE_ETAGS:
|
if settings.USE_ETAGS:
|
||||||
etag = md5.new(response.content).hexdigest()
|
etag = md5.new(response.content).hexdigest()
|
||||||
if request.META.get('HTTP_IF_NONE_MATCH') == etag:
|
if response.status_code >= 200 and response.status_code < 300 and response.statusrequest.META.get('HTTP_IF_NONE_MATCH') == etag:
|
||||||
response = http.HttpResponseNotModified()
|
response = http.HttpResponseNotModified()
|
||||||
else:
|
else:
|
||||||
response['ETag'] = etag
|
response['ETag'] = etag
|
||||||
|
|
Loading…
Reference in New Issue