The apreq developers would like to see apreq-2 [*]
make its way into the apache 2 distribution. Here's why:
1) Having a built-in library for parsing cookies, url-encoded
query strings, and POST data would be useful for other bundled
core modules, e.g. mod_usertrack, mod_isapi. It would also
provide this functionality to other communities that already
depend on it in some way (mod_perl, mod_dtcl, mod_php). The
C/C++ programmers that currently use it would also benefit.
2) Other ASF projects that aren't familiar with apreq would
be better served by adopting it instead of providing the
equivalent functionality themselves. apreq is reasonably fast,
secure, and standards-compliant. apreq-2 is an improved
version that is ported to work with httpd-2.0.
3) We (the active apreq developers) will support, develop and
improve the library. We're not asking the httpd developers
to take over those responsibilities for us; but if anyone
would like to help, they are certainly welcome. It just
makes more sense to have our code bundled with apache than
it does to continue maintaining a separate distribution.
4) apreq-2 is compact, and it makes good use of apr/apr-util.
It should require very little additional effort to add it to
the core other than bringing its API docs up to speed. A patch
against current httpd-2.0 cvs is at
http://httpd.apache.org/~joes/httpd-2.0.patch
5) The apreq-2 tests are already written: here's a patch for
httpd-test/perl-framework:
http://httpd.apache.org/~joes/httpd-test.patch
We'll try to address any concerns as they are raised.
Thanks.
[*] - Some background on (lib)apreq:
apreq is a safe, standards-compliant, high-performance library
used for parsing HTTP cookies, query-strings and POST data. The
current version apreq-1 is well tested and widely deployed. It
was designed and originally implemented by Lincoln Stein and Doug
MacEachern over four years ago, and has seen many improvements since
then. apreq was placed under the ASF umbrella in December 2000.
The 2.0 version of apreq is an improved version that's been
ported to run on httpd-2.0. Here's a brief list of features
it has that apreq-1 does not:
* provides overridable parsers for "application/x-www-form-urlencoded",
"multipart/form-data", and in the future "text/xml" enctypes.
* accepts chunked POST data.
* Support for RFC-based Cookies.
* XForms will be supported.