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-854) RFE: Provide mechanism to allow request transmission and response reception to be performed independently
Date Mon, 22 Jun 2009 22:38:07 GMT

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

Oleg Kalnichevski commented on HTTPCLIENT-854:
----------------------------------------------

Sam

The biggest problem with HttpClient 3.x has been the tendency to add features at the expense
of design. I personally would not like the same to happen to HttpClient 4.x. 

Let's face a very simple fact: we do not have enough people to maintain HttpClient even with
its current feature set. Adding more features without adding more people to the project willing
to maintain the code hardly helps. The _only_ reason why I have not started working on asynchronous
version of HttpClient is because it do not want to end up the only person maintaining it.

Code duplication can be as bad as abuse of inheritance. By all of means feel free to refactor
DefaultRequestDirector, but I suspect that adding more functionality to it will not make it
any simpler. I see code duplication as a lesser evil in this particular case.

Oleg

> RFE: Provide mechanism to allow request transmission and response reception to be performed
independently
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-854
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-854
>             Project: HttpComponents HttpClient
>          Issue Type: Improvement
>          Components: HttpClient
>    Affects Versions: 4.0 Final
>         Environment: All
>            Reporter: Mike Cumings
>            Priority: Minor
>             Fix For: Future
>
>         Attachments: HTTPCLIENT-854_httpclient_2009-06-18_1.patch, HTTPCLIENT-854_httpclient_2009-06-19_1.patch,
HTTPCLIENT-854_httpcore_2009-06-18_1.patch, HTTPCLIENT-854_httpcore_2009-06-19_1.patch
>
>
> The HttpClient API currently provides for the execution of a request via the HttpClient.execute(...)
methods.  These methods all send the request and then block until the response has been received.
 This precludes the user of the API from being able to send the request, perform some additional
work, then come back and block on the request.  This style of processing is very desirable
for implementation of HTTP-based protocols such as Bidirectional-streams Over Synchronous
HTTP (BOSH).   This capability is also closely related to HTTPCLIENT-258, support for HTTP
1.1 pipelining.
> The current code base (4.0) currently utilizes org.apache.http.impl.client.DefaultRequestDirector.execute(...)
to transmit requests.  This method contains a retry loop which blocks on and then examines
the response from the remote server.  When success is detected, it cleans up and returns the
response instance.  Requests are sent using an HttpResponseExecutor instance.  These classes
support the ability to separately doSendRequest()  and doReceiveResponse().
> Please expose the ability to leverage this functionality outwith the retry loop but including
the existing routing and authorization capabilities, where possible.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message