Return-Path: Delivered-To: apmail-hc-dev-archive@www.apache.org Received: (qmail 85006 invoked from network); 22 Jun 2009 20:23:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 22 Jun 2009 20:23:22 -0000 Received: (qmail 5058 invoked by uid 500); 22 Jun 2009 20:23:32 -0000 Delivered-To: apmail-hc-dev-archive@hc.apache.org Received: (qmail 5010 invoked by uid 500); 22 Jun 2009 20:23:32 -0000 Mailing-List: contact dev-help@hc.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "HttpComponents Project" Delivered-To: mailing list dev@hc.apache.org Received: (qmail 5000 invoked by uid 99); 22 Jun 2009 20:23:32 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Jun 2009 20:23:32 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Jun 2009 20:23:28 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 9D89F29A0018 for ; Mon, 22 Jun 2009 13:23:07 -0700 (PDT) Message-ID: <719831904.1245702187644.JavaMail.jira@brutus> Date: Mon, 22 Jun 2009 13:23:07 -0700 (PDT) From: "Mike Cumings (JIRA)" To: dev@hc.apache.org Subject: [jira] Commented: (HTTPCLIENT-854) RFE: Provide mechanism to allow request transmission and response reception to be performed independently In-Reply-To: <305883024.1245273967342.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HTTPCLIENT-854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12722800#action_12722800 ] Mike Cumings commented on HTTPCLIENT-854: ----------------------------------------- If this is the final position, I'm disappointed. It appears as if this use case was known prior to 4.x development (http://wiki.apache.org/jakarta-httpclient/UseCases/SingleAsyncRequest) yet was not implemented. Meanwhile, the 4.x API was implemented such that modifications to the API are not possible without breaking source and binary compatibility. Additions to the API to work around this limitation are not being accepted, leaving options of waiting for long periods of time (e.g., for 5.x) or implementing an entirely separate API built upon the NIO core (again requiring long periods of time as well as the application of significant engineering resource). Is this a fair characterization? httpclient is a very useful API and I thank the core team members for your contribution. Hopefully this will get resolved in the future, sometime. For now, I suppose I'll just have to code around this and hope that I can revisit the issue to remove the inefficiency, later. > 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