Apache HTTP Server Request Library
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:
Version 2 also includes the perl APIs for libapreq2- Apache2::Request, Apache2::Upload and Apache2::Cookie. The corresponding XS modules are generated by ExtUtils::XSBuilder, which is based on the new build system created specifically for mod_perl2.
Details of the latest version can be found on the libapreq project page at
The documentation is in the docs/ directory. It is based on Doxygen, and can be regenerated by typing
% make docs
in the main directory.
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
Please see the file called LICENSE.
http://httpd.apache.org/apreq/
user lists:
C/C++ API - modules-dev@httpd.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
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.