Remy Maucherat
Wed, 18 Apr 2001 21:16:15 -0700
Hi, Sorry for delaying my participation to this project for so long. If you remember the initial commons proposal, I said I would donate an HTTP client library to the commons project. Fixes and tweaks took more time than expected, and I am now (finally) ready to propose it to the commons. This HTTP/1.1 client library has been developed as part of the Slide project, as the basis for a WebDAV client (WebDAV is a protocol for remote authoring, and is an extension of HTTP/1.1). The library supports most of the features in HTTP/1.1. It can be found in the jakarta-slide repository, in src/webdav/client directory. The package is org.apache.webdav.lib (without the WebDAV specific features). This package can be used for a lot of things, including : - building applications HTTP-aware applications which may require a better control over the HTTP layer - Developing libraries to support protocols extending HTTP - Building HTTP/1.1 test suites (which is going to be very important for Tomcat 4) Remy Note : Since it seems to be quite popular, I'm reusing the same proposal template. Note 2 : Anyone can feel free to propose a fancy project name :) Note 3 : The package in the Slide project contains a lot of WebDAV specific features. Those will be removed, and only the HTTP specific parts will be moved to commons. The library design allows to do this very easily. --------------------------------------------------- Proposal for HTTP/1.1 Libary Package (0) Rationale HTTP is the main protocol used today on the internet. Although the JDK includes basic support for building HTTP-aware client applications, it doesn't provide the flexibility or ease of use needed for many projects. A Commons package would give committers an opportunity to coordinate their efforts to create and maintain a efficient, feature-rich package under the ASF license. (1) Scope of the Package The package shall create and maintain a Java library implementing the client side of the HTTP/1.1 protocol, as defined in RFC 2616 and RFC 2617. The package should : - Have an API which should be as simple to use as possible - Be easy to extend (1.5) Interaction With Other Packages The HTTP/1.1 library relies on: * Java Development Kit (Version 1.1 or later) (2) Initial Source of the Package The initial codebase exists in the jakarta-slide cvs tree under the org.apache.webdav.lib package. It would be moved to commons under the http subdirectory. The proposed package name for the new component is org.apache.commons.http. (3) Required Jakarta-Commons Resources CVS Repository - New directory http in the jakarta-commons CVS repository. Add the set of initial committers to jakarta-commons. All of the committers proposed already have an apache.org account. Mailing List - Discussions will take place on the general [EMAIL PROTECTED] mailing list. To help list subscribers identify messages of interest, it is suggested that the message subject of messages about this component be prefixed with [HTTP Library]. Bugzilla - New component "HTTP Library" under the "Commons" product category, with appropriate version identifiers as needed. Jyve FAQ - New category "commons-http" (when available). (4) Initial Committers Remy Maucherat (remm) - designed the API, and also responsible for most of the things wrong in the implementation B.C. Holmes (bcholmes) - additional design (inactive committer) Sung-Gu Park (jericho) - lots of fixes and additional design Juergen Pill (juergen) - fixes and additional design