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.
Hi there,
TL; DR;
New feature: allow
GreedyCacheStrategy
to generate the cache key based on specific headers.Introduction
I'm currently working with several heavy partner APIs that don't care much about cache headers.
So I'm using the
GreedyCacheStrategy
to cache their responses.Problem: I use several accounts for these APIs, within the same app. To describe this in gherkin language:
Currently, when I'm logged in with
UserA
, and I fetch and cache the resource/campaigns
, and then, later, I log in asUserB
, and I fetch the same resource/campaigns
, I getUserA
's cached campaigns.To prevent this behaviour, I added an option into the
GreedyCacheStrategy
that allow to specify aKeyValueHttpHeader
into its constructor, which will help in generating a different cache key, based on specific headers.Example
There's no BC break since it's a new, optionnal feature.
When no
KeyValueHttpHeader
is provided, the sha is still the same as before.