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

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

Mike,

(1) It is too late to make any changes to the API. The patch in its present 
state cannot be committed until 5.0 (which may never happen). Please consider 
restructuring your code in such a way that it can be incorporated into the 
HttpClient code line as a separate, optional module. That optional module could 
go into the 4.1 branch.

(2) I am not entirely sure the proposed solution is generic enough. It surely 
addresses your specific use case, but it may be not common enough. I kind of 
think HttpCore NIO could have been a better foundation for a fully asynchronous 
HTTP client. Building asynchronous HTTP client on top of HttpCore NIO would be 
a major, major effort but I personally think that would be the right thing to 
do. Have a look at it.

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_httpcore_2009-06-18_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-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to