Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional functionality to Client #23

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

henhouse
Copy link

@henhouse henhouse commented Jul 3, 2024

This PR contains two additional member functions for the cache client I made for my own purposes. Figured perhaps others may find them useful.

In some cases, you may want the cache client to propagate through the system to your handlers, or other business logic. In some cases such as PUTs, or DELETEs to your system on an object, you may want the option to tell the adapter to drop the cache for the requested endpoint so clients do not get served old data (unless they used an Expires header). The Drop function allows for this by not having to worry about the way in which the key is generated.

Secondly, you may want to apply a client option at a later time, or change it, which isn't currently possible to do. In my use case, I have a middleware for my router which will apply different TTLs for different endpoints, as well as optionally set the Expires header for them. I deference the client pointer, and apply a change to its options for the lifecycle of that request via the AddOptions func.

henhouse added 2 commits July 3, 2024 13:39
- Ability to drop the cache from a request. Useful if the client is propagated through the request's life (e.g. call on a PUT/DELETE, etc.)
- Add options on a client. Perhaps you apply different TTL or settings for a particular request in your own middleware, etc.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant