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

Oleg Kalnichevski commented on HTTPCLIENT-1510:
-----------------------------------------------

HttpClient uses HttpRequestWrapper internally in order to ensure request 
modifications made by the framework could be reverted. It does so by using 
#wrap method which respects distinction between simple and entity enclosing 
methods.

{code:java}
    public static HttpRequestWrapper wrap(final HttpRequest request) {
        if (request == null) {
            return null;
        }
        if (request instanceof HttpEntityEnclosingRequest) {
            return new 
HttpEntityEnclosingRequestWrapper((HttpEntityEnclosingRequest) request);
        } else {
            return new HttpRequestWrapper(request);
        }
    }
{code}

> Expect/continue not working for HttpRequest objects that are implemented with 
> an HttpRequestWrapper
> ---------------------------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1510
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1510
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.3.3
>            Reporter: Karl Wright
>
> Certain sorts of requests (multipart post being one of them) use 
> HttpRequestWrapper internally to wrap the original request.  But the 
> Expect/Continue processor has this check in it:
> {code}
>             if (request instanceof HttpEntityEnclosingRequest) {
> {code}
> That effectively disables expect/continue for all wrapped requests, since 
> HttpRequestWrapper is not derived from HttpEntityEnclosingRequest.
> Suggestion: A better way to structure this would be to have a method in 
> HttpRequest that the expect/continue processor would call, instead of doing 
> an explicit instanceof class check.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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

Reply via email to