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

Reply via email to