blob: f31a87ce49f54235fe024b27454cf23baafc7435 [file] [log] [blame]
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.