Make http error cache control behavior configurable. #444
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.
What I am changing
While implementing edge caching for a titiler deployment we have a case where underlying source COGs are continually added in real time. Currently a request that results in
404
No assets found for tile
has the sameCache-Control
header as a200
response and is maintained by the edge cache for the same duration. In our case we would prefer404
responses to have a shorter duration in the edge cache so that requests are passed to the origin (where new assets may now be available). This PR makes the upper range or http codes which include aCache-Control
header configurable so that edge caches can exert finer control on error response cache duration.How I did it
Extended
core/middleware
to support a configurable upper bound for response codes which include aCache-Control
header rather than the hardcoded500
value.How you can test it
Via the project's
tox
testing entrypoint.