Middleware para definir o ContentType de resposta

Em nosso aplicativo Web baseado no ASP.NET Core, queremos o seguinte: certos tipos de arquivos solicitados devem receber ContentType personalizado em resposta. Por exemplo..map deve mapear paraapplication/json. No ASP.NET 4.xe "completo" e em combinação com o IIS, foi possível utilizar o web.config<staticContent>/<mimeMap> por isso e quero substituir esse comportamento por um middleware personalizado do ASP.NET Core.

Então, tentei o seguinte (simplificado por questões de brevidade):

public async Task Invoke(HttpContext context)
{
    await nextMiddleware.Invoke(context);

    if (context.Response.StatusCode == (int)HttpStatusCode.OK)
    {
        if (context.Request.Path.Value.EndsWith(".map"))
        {
            context.Response.ContentType = "application/json";
        }
    }
}

Infelizmente, tentando definircontext.Response.ContentType depois de chamar o restante da cadeia de middleware, gera a seguinte exceção:

System.InvalidOperationException: "Headers are read-only, response has already started."

Como posso criar um middleware que resolve esse requisito?

questionAnswers(2)

yourAnswerToTheQuestion