You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2012/06/11 17:12:54 UTC
svn commit: r1348896 - in
/httpcomponents/httpclient/branches/decorator-refactoring/httpclient/src/main/java/org/apache/http:
client/protocol/ResponseContentEncoding.java
impl/client/DecompressingHttpClient.java
Author: olegk
Date: Mon Jun 11 15:12:54 2012
New Revision: 1348896
URL: http://svn.apache.org/viewvc?rev=1348896&view=rev
Log:
Moved content header handling logic from DecompressingHttpClient to ResponseContentEncoding intertceptor
Modified:
httpcomponents/httpclient/branches/decorator-refactoring/httpclient/src/main/java/org/apache/http/client/protocol/ResponseContentEncoding.java
httpcomponents/httpclient/branches/decorator-refactoring/httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java
Modified: httpcomponents/httpclient/branches/decorator-refactoring/httpclient/src/main/java/org/apache/http/client/protocol/ResponseContentEncoding.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/branches/decorator-refactoring/httpclient/src/main/java/org/apache/http/client/protocol/ResponseContentEncoding.java?rev=1348896&r1=1348895&r2=1348896&view=diff
==============================================================================
--- httpcomponents/httpclient/branches/decorator-refactoring/httpclient/src/main/java/org/apache/http/client/protocol/ResponseContentEncoding.java (original)
+++ httpcomponents/httpclient/branches/decorator-refactoring/httpclient/src/main/java/org/apache/http/client/protocol/ResponseContentEncoding.java Mon Jun 11 15:12:54 2012
@@ -78,16 +78,15 @@ public class ResponseContentEncoding imp
Header ceheader = entity.getContentEncoding();
if (ceheader != null) {
HeaderElement[] codecs = ceheader.getElements();
+ boolean uncompressed = false;
for (HeaderElement codec : codecs) {
String codecname = codec.getName().toLowerCase(Locale.US);
if ("gzip".equals(codecname) || "x-gzip".equals(codecname)) {
response.setEntity(new GzipDecompressingEntity(response.getEntity()));
- if (context != null) context.setAttribute(UNCOMPRESSED, true);
- return;
+ break;
} else if ("deflate".equals(codecname)) {
response.setEntity(new DeflateDecompressingEntity(response.getEntity()));
- if (context != null) context.setAttribute(UNCOMPRESSED, true);
- return;
+ break;
} else if ("identity".equals(codecname)) {
/* Don't need to transform the content - no-op */
@@ -96,6 +95,11 @@ public class ResponseContentEncoding imp
throw new HttpException("Unsupported Content-Coding: " + codec.getName());
}
}
+ if (uncompressed) {
+ response.removeHeaders("Content-Length");
+ response.removeHeaders("Content-Encoding");
+ response.removeHeaders("Content-MD5");
+ }
}
}
}
Modified: httpcomponents/httpclient/branches/decorator-refactoring/httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/branches/decorator-refactoring/httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java?rev=1348896&r1=1348895&r2=1348896&view=diff
==============================================================================
--- httpcomponents/httpclient/branches/decorator-refactoring/httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java (original)
+++ httpcomponents/httpclient/branches/decorator-refactoring/httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java Mon Jun 11 15:12:54 2012
@@ -136,11 +136,6 @@ public class DecompressingHttpClient imp
acceptEncodingInterceptor.process(wrapped, context);
HttpResponse response = backend.execute(target, wrapped, context);
contentEncodingInterceptor.process(response, context);
- if (Boolean.TRUE.equals(context.getAttribute(ResponseContentEncoding.UNCOMPRESSED))) {
- response.removeHeaders("Content-Length");
- response.removeHeaders("Content-Encoding");
- response.removeHeaders("Content-MD5");
- }
return response;
} catch (HttpException e) {
throw new ClientProtocolException(e);