libapreq - Apache Request Library What is it? ----------- libapreq (aka `apreq') is subproject of the Apache HTTP Server Project whose membership (the apreq `committers') develops and maintains the libapreq software library. 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 libarary 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: libapreq version 2 relies heavily on the use of GNU autoconf, automake and libtool to provide a build environment. The core unit tests for libapreq are based upon CuTest. The environment and perl glue tests are based on Apache::Test. Doxygen generates the documentation for libapreq-2. The perl glue and pods are generated by ExtUtils::XSBuilder.