diff --git a/Parse/src/main/java/com/parse/ParseApacheHttpClient.java b/Parse/src/main/java/com/parse/ParseApacheHttpClient.java index 88cbc0755..57f5989e9 100644 --- a/Parse/src/main/java/com/parse/ParseApacheHttpClient.java +++ b/Parse/src/main/java/com/parse/ParseApacheHttpClient.java @@ -52,6 +52,9 @@ */ @SuppressWarnings("deprecation") /** package */ class ParseApacheHttpClient extends ParseHttpClient { + + private static final String CONTENT_ENCODING_HEADER = "Content-Encoding"; + private DefaultHttpClient apacheClient; public ParseApacheHttpClient(int socketOperationTimeout, SSLSessionCache sslSessionCache) { @@ -149,6 +152,10 @@ public ParseApacheHttpClient(int socketOperationTimeout, SSLSessionCache sslSess for (Header header : apacheResponse.getAllHeaders()) { headers.put(header.getName(), header.getValue()); } + // If we auto unzip the response stream, we should remove the content-encoding header + if (!disableHttpLibraryAutoDecompress()) { + headers.remove(CONTENT_ENCODING_HEADER); + } // Content type String contentType = null; diff --git a/Parse/src/test/java/com/parse/ParseHttpClientTest.java b/Parse/src/test/java/com/parse/ParseHttpClientTest.java index 2be3568e1..445b05b16 100644 --- a/Parse/src/test/java/com/parse/ParseHttpClientTest.java +++ b/Parse/src/test/java/com/parse/ParseHttpClientTest.java @@ -202,6 +202,9 @@ private void doSingleParseHttpClientExecuteWithGzipResponse( assertEquals("gzip", recordedHeaders.get("Accept-Encoding")); + // Verify we do not have Content-Encoding header + assertNull(parseResponse.getHeader("Content-Encoding")); + // Verify response body byte[] content = ParseIOUtils.toByteArray(parseResponse.getContent()); assertArrayEquals(responseContent.getBytes(), content);