[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-1199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13286410#comment-13286410
 ] 

Guillaume Castagnino commented on HTTPCLIENT-1199:
--------------------------------------------------

To illustrate this, I made a test with this change, that fixes my issue. Now my 
POST requests are correctly processed:
$ diff -u 
./httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java.orig
 
./httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java
                                                                                
            
--- 
./httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java.orig
    2012-05-31 10:39:49.698192187 +0200
+++ 
./httpclient/src/main/java/org/apache/http/impl/client/DecompressingHttpClient.java
 2012-05-31 10:39:57.202038414 +0200
@@ -125,9 +125,8 @@
             HttpContext context) throws IOException, ClientProtocolException {
         try {
             if (context == null) context = new BasicHttpContext();
-            HttpRequest wrapped = new RequestWrapper(request);
-            acceptEncodingInterceptor.process(wrapped, context);
-            HttpResponse response = backend.execute(target, wrapped, context);
+            acceptEncodingInterceptor.process(request, context);
+            HttpResponse response = backend.execute(target, request, context);
             contentEncodingInterceptor.process(response, context);
             if 
(Boolean.TRUE.equals(context.getAttribute(ResponseContentEncoding.UNCOMPRESSED)))
 {
                 response.removeHeaders("Content-Length");
                
> DecompressingHttpClient strips POST content from request
> --------------------------------------------------------
>
>                 Key: HTTPCLIENT-1199
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1199
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.2 Final
>         Environment: Ubuntu / openjdk-7
>            Reporter: Guillaume Castagnino
>
> When upgrading from HttpClient 4.1 to HttpClient 4.2, I have to migrate my 
> ContentEncodingHttpClient to a decorated DecompressingHttpClient.
> But there is a problem with HttpPost requests : the POST content is missing.
> Looking at the DecompressingHttpClient code : 
> http://hc.apache.org/httpcomponents-client-ga/httpclient/clover/org/apache/http/impl/client/DecompressingHttpClient.html,
>  the issue seems to be that DecompressingHttpClient use a HttpRequest wrapped 
> by a RequestWrapper at line 130 to execute. But this wrapper only clone 
> headers and params, disregarding the request type, so the entity is not 
> cloned.
> When feeding the DecompressingHttpClient with a HttpPost request, this leads 
> to partial request with no entity : over the network, I get POST requests 
> with no content !
> Solution should be to stop using a wrapped request ?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to