[
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]