In our ASP.NET Core based web application, we want the following: certain requested file types should get custom ContentType\'s in response. E.g. .map should map to
Try to use HttpContext.Response.OnStarting callback. This is the last event that is fired before the headers are sent.
public async Task Invoke(HttpContext context)
{
context.Response.OnStarting((state) =>
{
if (context.Response.StatusCode == (int)HttpStatusCode.OK)
{
if (context.Request.Path.Value.EndsWith(".map"))
{
context.Response.ContentType = "application/json";
}
}
return Task.FromResult(0);
}, null);
await nextMiddleware.Invoke(context);
}
Using an overload of OnStarting method:
public async Task Invoke(HttpContext context)
{
context.Response.OnStarting(() =>
{
if (context.Response.StatusCode == (int) HttpStatusCode.OK &&
context.Request.Path.Value.EndsWith(".map"))
{
context.Response.ContentType = "application/json";
}
return Task.CompletedTask;
});
await nextMiddleware.Invoke(context);
}