public static IApplicationBuilder UseCacheHeaders(this IApplicationBuilder app, Action <CacheHeaderOptions>?configure = null) { var options = new CacheHeaderOptions(); configure?.Invoke(options); return(app.UseMiddleware <CacheHeaderMiddleware>(options)); }
public void ConfigureValueForRoutes() { var options = new CacheHeaderOptions(); var value = new CacheControlHeaderValue(); options.ConfigureValueForRoutes(value, new[] { "/a", "/b" }); Assert.Equal(2, options.Routes.Count); Assert.Equal(options.Routes["/a"], value); Assert.Equal(options.Routes["/b"], value); Assert.Null(options.DefaultHeader); }
public void ConfigureNoCacheForRoutes() { var options = new CacheHeaderOptions(); options.ConfigureNoCacheForRoutes(new[] { "/a", "/b" }); var noCache = new CacheControlHeaderValue { NoStore = true, NoCache = true }; Assert.Equal(2, options.Routes.Count); Assert.Equal(noCache, options.Routes["/a"]); Assert.Equal(noCache, options.Routes["/b"]); Assert.Null(options.DefaultHeader); }
public CacheHeaderMiddleware(RequestDelegate next, CacheHeaderOptions options) { this.next = next; this.options = options; }