hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPCLIENT-1510) Expect/continue not working for HttpRequest objects that are implemented with an HttpRequestWrapper
Date Thu, 22 May 2014 13:35:01 GMT

    [ 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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message