Registrando respostas HTTP brutas e compactadas no ASP.NET e IIS7

Ao longo das linhas deessa questão Eu quero criar um HttpModule que faça algum registro customizado de solicitações e respostas para nós. Usando o código na resposta mais popular para essa questão eu tenho um HttpModule instalado e funcionando, o que realmente funciona:

class PortalTrafficModule : IHttpModule
{
    public void Dispose()
    {
        // Do Nothing
    }

    public void Init(HttpApplication context)
    {
        context.BeginRequest += new EventHandler(context_BeginRequest);
        context.EndRequest += new EventHandler(context_EndRequest);
    }

    private void context_BeginRequest(object sender, EventArgs e)
    {
        HttpContext context = ((HttpApplication)sender).Context;

        // Create and attach the OutputFilterStream to the Response and store it for later retrieval.
        OutputFilterStream filter = new OutputFilterStream(context.Response.Filter);
        context.Response.Filter = filter;
        context.Items.Add("OutputFilter", filter);

        // TODO: If required the request headers and content could be recorded here
    }

    private void context_EndRequest(object sender, EventArgs e)
    {
        HttpContext context = ((HttpApplication)sender).Context;
        OutputFilterStream filter = context.Items["OutputFilter"] as OutputFilterStream;

        if (filter != null)
        {
            // TODO: Log here - for now just debug.
            Debug.WriteLine("{0},{1},{2}",
                context.Response.Status,
                context.Request.Path,
                filter.ReadStream().Length);
        }
    }
}

(note que a classe OutputFilterStream referida no código está na classe referenciadaquestão).

No entanto, parece que faltam alguns cabeçalhos HTTP que vejo no Fiddler (como "Data") e, mais importante, quando ligo a compactação, as respostas que estou registrando não são compactadas, enquanto o que vejo no Fiddler é.

Então minha pergunta - é possível registrar o conteúdo compactado ou isso está acontecendo em uma etapa subsequente em que meu módulo não pode se conectar?

Para o registro, eu também tentei lidar com oPreSendRequestContent evento e a resposta ainda está descompactada.

questionAnswers(1)

yourAnswerToTheQuestion