HttpCacheHeaders icon indicating copy to clipboard operation
HttpCacheHeaders copied to clipboard

ASP.NET Core middleware that adds HttpCache headers to responses (Cache-Control, Expires, ETag, Last-Modified), and implements cache expiration & validation models

Results 21 HttpCacheHeaders issues
Sort by recently updated
recently updated
newest added

This bug was probably introduced in 7.1.0 version. If both - controller and action contain HttpCacheExpiration and HttpCacheValidation attributes with different values. Action for some reason inherits values set on...

Currently the csproj has the framework reference in conditions however all TFM will add the framework hence conditions are not needed. At the same time the dependencies can likely be...

The [distributed cache retriever](src/Marvin.Cache.Headers.DistributedStore.Redis/Stores/RedisDistributedCacheKeyRetriever.cs) does not (appear to) return store keys in the current implementation (for the versions that I am running). I can't work out the purpose of the...

Investigate how to improve the codebase with nullable reference types & others.

enhancement
investigate

https://github.com/KevinDockx/HttpCacheHeaders/blob/7becbc57b021432896ebfb62f793287cddbdfae5/src/Marvin.Cache.Headers/Stores/InMemoryValidatorValueStore.cs#L93 InvalidOperationException is thrown when enumerating the store keys.

investigate

We should support Cancellation when calling any caches or external API's.

Currently, we have methods that are untestsed in the InMemoryValidatorValueStore. We should add tests for these methods.

It would be really nice if there was a way to store validator values in a scalable manner for applications that use 2 or more servers. I am proposing a...

enhancement
investigate

Easily allow using the middleware for JUST concurrency instead of defaulting to an ETags-for-cache approach.

enhancement

**Steps to Reproduce** - New Blazor 8 Web App Project - Hosted by Asp.NET Core - Install NuGet Marvin.Cache.Headers - Configure ``` builder.Services.AddHttpCacheHeaders( o => { o.CacheLocation = CacheLocation.Private; o.MaxAge...