mirror of
https://github.com/apache/httpd.git
synced 2026-10-23 22:49:01 +03:00
internalise the ap_reg*<->PCRE wrapper: * configure.in: Add srclib/pcre to the include path. * include/ap_regex.h: Renamed from include/pcreposix.h. Prefix all constants with AP_; prefix all functions and types with ap_. Define AP_DECLARE to nothing if necessary. Remove regcomp error codes. * include/httpd.h: Include ap_regex.h not pcreposix.h. (ap_pregcomp, ap_regexec, ap_regfree): s/regex_t/ap_regex_t/. (ap_regexec, ap_regerror): Prototypes moved to ap_regex.h. * server/util.c (regex_cleanup, ap_pregcomp, ap_pregsub, ap_pregfree): Adjust for ap_ prefixed types. (ap_regexec, ap_regerror): Removed. * server/Makefile.in: Build util_pcre.c. * server/util_pcre.c: Copied from srclib/pcre/pcreposix.c; remove use of PCRE-internals to do error mapping; rename types to add AP_/ap_ prefixes as above. Use APR includes. (ap_regerror): Use apr_snprintf. * srclib/pcre/Makefile.in: Don't build pcreposix.c into libpcre.la. * modules/*: Update to use new type and constant names. PR: 27750 (part one) Submitted by: Andres Salomon <dilinger voxel.net>, Joe Orton git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@153384 13f79535-47bb-0310-9956-ffa450edef68
README for Apache 2.0 Example Module
[April, 1997, updated May 2000]
The files in the src/modules/example directory under the Apache
distribution directory tree are provided as an example to those that
wish to write modules that use the Apache API.
The main file is mod_example.c, which illustrates all the different
callback mechanisms and call syntaces. By no means does an add-on
module need to include routines for all of the callbacks - quite the
contrary!
The example module is an actual working module. If you link it into
your server, enable the "example-handler" handler for a location, and then
browse to that location, you will see a display of some of the tracing
the example module did as the various callbacks were made.
To include the example module in your server add --enable-example to the
other ./configure arguments executed from the httpd-2.1 directory. After
that run 'make'.
To add another module of your own:
A. cp modules/experimental/mod_example.c modules/experimental/mod_myexample.c
B. Modify the file
C. Build the server with --enable--myexample
To activate the example module, include a block similar to the
following in your httpd.conf file:
<Location /example-info>
SetHandler example-handler
</Location>
As an alternative, you can put the following into a .htaccess file and
then request the file "test.example" from that location:
AddHandler example-handler .example
After reloading/restarting your server, you should be able to browse
to this location and see the brief display mentioned earlier.