You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rpc-dev@xml.apache.org by bu...@apache.org on 2002/10/07 17:43:02 UTC

DO NOT REPLY [Bug 13363] New: - Replace underlying HTTP client functionality with Jakarta Commons HttpClient

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13363>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13363

Replace underlying HTTP client functionality with Jakarta Commons HttpClient

           Summary: Replace underlying HTTP client functionality with
                    Jakarta Commons HttpClient
           Product: XML-RPC
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Enhancement
          Priority: Other
         Component: Source
        AssignedTo: rpc-dev@xml.apache.org
        ReportedBy: rhoegg@isisnetworks.net


The current software used to connect to HTTP servers in the client portions of
the library is java.net.URLConnection.  I propose an upgrade to the Jakarta
Commons HttpClient at hhttp://jakarta.apache.org/commons/httpclient/ for several
reasons:

- Cleaner handling of authentication
- Cookie support, which would close Bug 13298
- General HTTP header handling (currently used in my application for User-Agent
header.
- Full HTTP 1.1 support.  This one is controversial as the XML-RPC spec
prohibits the use of HTTP chunking.  However, servers out there are known to use
it, so this provides the capability without a mandate.  If we decide against it,
we can just hardcode setHttp11(false); however I recommend exposing this option
to users.

I have a working patch but am currently waiting to hear from committers on the
preferred API changes before submitting.  Also, my patch uses HttpClient
2.0alpha.  We may want to wait until 2.0 goes stable as the HttpClient team is
still finalizing the API for 2.0.

My patch currently adds the following public methods to XmlRpcClient:

setUserAgent(String userAgent)
setHttp11(boolean http11)

we may also want:
addHttpHeader(Header header)
or
addHttpHeader(String header, String value)