Extract gzip data from Apache-httpclient without decompression

I am using apache httpclient 4.3.5 to send a request to an upstream server that returns a gzip response. I need to pass this AS-IS response to the downstream server without any decompression. However, httpclient is too helpful and insists on unpacking the response and I can't find a way to convince him to stop.

CloseableHttpClient client = HttpClients.createDefault();
CloseableHttpResponse serverResponse = client.execute(serverRequest);
try {
    HttpEntity entity = serverResponse.getEntity();
    downstreamResponse.setStatus(serverResponse.getStatusLine().getStatusCode());
    for (Header header : serverResponse.getAllHeaders()) {
        downstreamResponse.setHeader(header.getName(), header.getValue());
    }
    entity.writeTo(downstreamResponse.getOutputStream());
    downstreamResponse.flushBuffer();
} finally {
    serverResponse.close();
}

      

I'm sure there is some way to customize the client using some form of construct

return HttpClients.custom()
    ....
    .build();

      

but I cannot find it. Can the experts advise?

+3


source to share


1 answer


CloseableHttpClient client = HttpClients.custom()
        .disableContentCompression()
        .build();

      



+8


source







All Articles