Today I’m very happy to announce that Marvin.Cache.Headers 3.0 reached RTM. This is a *big* release, very much focused on customization. If you’re new to Marvin.Cache.Headers, here’s what to expect:
Marvin.Cache.Headers is ASP.NET Core middleware that adds HttpCache headers to responses (Cache-Control, Expires, ETag, Last-Modified), and implements cache expiration and validation models. It can be used to ensure caches correctly cache responses and/or to implement concurrency for REST-based APIs using ETags.
In v3.0 we added support for injecting custom implementations of
IValidatorValueStore, IStoreKeyGenerator, IETagGenerator and/or IDateParser. This means that from this moment on it should be pretty easy to provide your own custom implementations for storing validator values, for customizing store keys, for customizing ETag generation and so on. A few good use cases this enables are generating weak ETags when required and allowing smooth integration with Redis.
Just as for release 2.0: a big thumbs up for David Cumps for his PRs!
I also updated the README.md (finally! :)) so you can see how to use these new features