Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As discussed in #69 this PR sets
Etagheaders on responses and returns aNot Modifiedresponse instead of the cached response if the client sent anIf-None-Matchheader that matches theEtagof the cached response. The Etag is set with Django'sset_response_etag()util, which just hashes the content of the response. If the response already has an etag then that is respected.It also adjusts the
Cache-Controlheader to either setno-cacheormust-revalidatedepending on whether the response has amax-age.I am not sure yet what the
Cache-ControlandExpiresheaders on aNot Modifiedresponse should be set to.