Apache HTTP Server Request Library | |
What is it? | |
----------- | |
httpd-apreq is subproject of the Apache HTTP Server Project | |
whose committers develop and maintain the libapreq C library | |
and its language bindings for Perl (contributions for additional | |
language bindings are most welcome). | |
libapreq is a safe, standards-compliant, high-performance library | |
used for parsing HTTP cookies, query-strings and POST data. The | |
original version (libapreq-1.X) was designed by Lincoln Stein and Doug | |
MacEachern. The perl APIs Apache::Request and Apache::Cookie are the | |
lightweight mod_perl analogs of the CGI and CGI::Cookie perl modules. | |
Version 2 of libapreq is an improved codebase designed around APR | |
and Apache-2's input filter API. The C codebase is separated into | |
two independent components: | |
1) libapreq2, the shared library. This library is based | |
solely on libapr and libaprutil, and requires linking | |
applications to provide stub code for the apreq_env | |
interface (defined by the "apreq_env.h" header file). | |
The source files for libapreq2 are in the src/ directory. | |
2) A collection of "environment" modules which provide the | |
aforementioned supporting functions for the apreq_env API. | |
The modules' source files are in the env/ directory. | |
Two supported modules are now available | |
1) an Apache 2 filter module - mod_apreq.c, | |
2) the default CGI module included in libapreq2. | |
Version 2 also includes the perl APIs for libapreq2- Apache::Request | |
and Apache::Cookie. The corresponding XS modules are generated in | |
perl/glue/xs by ExtUtils::XSBuilder, which is based on the new build | |
system created specifically for modperl-2. | |
The Latest Version | |
------------------ | |
Details of the latest version can be found on the libapreq | |
project page at | |
http://httpd.apache.org/apreq | |
Documentation | |
------------- | |
The documentation is in the docs/ directory. It is | |
based on Doxygen, and can be regenerated by typing | |
% make docs | |
in the main directory. | |
Installation | |
------------ | |
For full details please consult the INSTALL file. Briefly, | |
to install just the C API (libapreq2 + environment modules) | |
on a Unix-like system: | |
% ./configure --with-apache2-apxs=/path/to/apache2/bin/apxs | |
% make | |
% make test | |
% make install | |
To build and install the perl API as well, either add | |
the "--enable-perl-glue" configure option, or let Makefile.PL | |
enable it for you: | |
% perl Makefile.PL --with-apache2-apxs=/path/to/apache2/bin/apxs | |
% make | |
% make test | |
% make install | |
Licensing | |
--------- | |
Please see the file called LICENSE. | |
Contacts | |
-------- | |
o Project homepage: | |
http://httpd.apache.org/apreq/ | |
o Mailing Lists: | |
user lists: | |
C/C++ API - modules@apache.org | |
Perl API - modperl@perl.apache.org | |
Tcl API - XXX | |
Java API - XXX | |
Python API - XXX | |
developer list (bugs, patches, code contributions, etc.): | |
apreq-dev@httpd.apache.org | |
Acknowledgments | |
---------------- | |
We wish to acknowledge the following copyrighted works that | |
make up portions of the Apache software: | |
libapreq2 relies heavily on the use of the GNU auto-tools | |
to provide a build environment. The tests are based on | |
the Apache::Test, Test::Harness and Test::Inline. | |
Doxygen generates the documentation for libapreq2. The perl glue | |
and pods are generated by ExtUtils::XSBuilder. |