Browse Source

Check for started.

pull/662/head
Sebastian 5 years ago
parent
commit
6949291fcd
  1. 13
      backend/src/Squidex.Web/Pipeline/CachingFilter.cs

13
backend/src/Squidex.Web/Pipeline/CachingFilter.cs

@ -28,16 +28,17 @@ namespace Squidex.Web.Pipeline
public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
cachingManager.Start(context.HttpContext);
var httpContext = context.HttpContext;
cachingManager.Start(httpContext);
var resultContext = await next();
if (resultContext.HttpContext.Response.Headers.TryGetString(HeaderNames.ETag, out var etag))
if (httpContext.Response.HasStarted == false &&
httpContext.Response.Headers.TryGetString(HeaderNames.ETag, out var etag) &&
IsCacheable(httpContext, etag))
{
if (IsCacheable(resultContext.HttpContext, etag))
{
resultContext.Result = new StatusCodeResult(304);
}
resultContext.Result = new StatusCodeResult(304);
}
}

Loading…
Cancel
Save