Middleware para establecer la respuesta ContentType

En nuestra aplicación web basada en ASP.NET Core, queremos lo siguiente: ciertos tipos de archivos solicitados deberían recibir ContentType personalizados en respuesta. P.ej..map debería mapear aapplication/json. En "completo" ASP.NET 4.xy en combinación con IIS fue posible utilizar web.config<staticContent>/<mimeMap> para esto y quiero reemplazar este comportamiento con un middleware ASP.NET Core personalizado.

Así que probé lo siguiente (simplificado por brevedad):

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";
        }
    }
}

Desafortunadamente, tratando de establecercontext.Response.ContentType después de invocar al resto de la cadena de middleware se obtiene la siguiente excepción:

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

¿Cómo puedo crear un middleware que resuelva este requisito?

Respuestas a la pregunta(2)

Su respuesta a la pregunta