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/01 15:26:53 UTC

svn commit: r1345166 - /httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java

Author: olegk
Date: Fri Jun  1 13:26:53 2012
New Revision: 1345166

URL: http://svn.apache.org/viewvc?rev=1345166&view=rev
Log:
HTTPCLIENT-1199: fixed request wrapping in DecompressingHttpClient

Modified:
    httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java

Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java?rev=1345166&r1=1345165&r2=1345166&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java Fri Jun  1 13:26:53 2012
@@ -29,6 +29,7 @@ import java.io.IOException;
 import java.net.URI;
 
 import org.apache.http.HttpEntity;
+import org.apache.http.HttpEntityEnclosingRequest;
 import org.apache.http.HttpException;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpRequest;
@@ -126,7 +127,12 @@ public class DecompressingHttpClient imp
             HttpContext context) throws IOException, ClientProtocolException {
         try {
             if (context == null) context = new BasicHttpContext();
-            HttpRequest wrapped = new RequestWrapper(request);
+            HttpRequest wrapped;
+            if (request instanceof HttpEntityEnclosingRequest) {
+                wrapped = new EntityEnclosingRequestWrapper((HttpEntityEnclosingRequest) request);
+            } else {
+                wrapped = new RequestWrapper(request);
+            }
             acceptEncodingInterceptor.process(wrapped, context);
             HttpResponse response = backend.execute(target, wrapped, context);
             contentEncodingInterceptor.process(response, context);
@@ -137,7 +143,7 @@ public class DecompressingHttpClient imp
             }
             return response;
         } catch (HttpException e) {
-            throw new RuntimeException(e);
+            throw new ClientProtocolException(e);
         }
     }