ServiceStack - Usando compactação gzip / deflate com solicitações JSONP

Eu tenho um serviço ServiceStack que comprime a resposta usandoRequestContext.ToOptimizedResult(), por exemplo.:

[Route("/numbers/search")]
public class FindNumbers
{
}

public object Get(FindNumbers query)
{
    var data = new List<string> { "One", "Two", "Three" };
    return RequestContext.ToOptimizedResult(data);
}

Isso funciona perfeitamente ao emitir uma solicitação como:

GET http://myhost:13487/numbers/search.json

E é comprimido como esperado com oAccept-Encoding cabeçalho da solicitação:

Accept-Encoding: gzip,deflate,sdch

Eu também posso emitir uma solicitação JSONP:

GET http://myhost:13487/numbers/search?callback=func

que retorna corretamente umapplication/javascript retorno de chamada (não compactado).

O PROBLEMA

Quando eu adiciono oAccept-Encoding solicita o cabeçalho para o pedido JSONP, a resposta são os dados JSON compactados de acordo com a solicitação JSON original, e não uma solicitação compactadaapplication/javascript ligue de volta.

Existem quaisquer razões óbvias que eu estou sentindo falta deste comportamento, ou é simplesmente um bug no ServiceStack? Minha expectativa seria receber um retorno de chamada JSONP compactado na resposta, mas sou razoavelmente ecológico com JSONP e pode haver uma boa razão para o fallback.

Note, eu estou em progresso de trabalhar com a fonte ServiceStack, mas eu percebi que eu conseguiria isso como mais cérebros são melhores que um ...

desde já, obrigado

EDITAR

Então, eu rastreei a questão pela seguinte fonte

https://github.com/ServiceStack/ServiceStack/blob/5d09d439cd1a13712411552e2b3ede5a71af2ee5/src/ServiceStack/Host/Handlers/GenericHandler.cs#L79

e

https://github.com/ServiceStack/ServiceStack/blob/5d09d439cd1a13712411552e2b3ede5a71af2ee5/src/ServiceStack/Host/RestHandler.cs#L107

if (doJsonp && !(response is CompressedResult))
    return httpRes.WriteToResponse(httpReq, response, (callback + "(").ToUtf8Bytes(),")".ToUtf8Bytes());

return httpRes.WriteToResponse(httpReq, response);

Então, se a resposta for um resultado compactado, então, independentemente do requisito para JSONP via?callback=func a resposta conterá simplesmente o json compactado (no caso do exemplo acima), o que soa verdadeiro com minhas descobertas acima. Portanto, parece que o wrapper de retorno de chamada jsonp precisa ser aplicado anteriormente no callstack.

questionAnswers(1)

yourAnswerToTheQuestion