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)