mirror of
https://github.com/apache/httpd.git
synced 2026-01-26 19:01:35 +03:00
arbitrary code before the handlers are invoked. This resolves an issue with incorrect 304s on If-Modified-Since mod_include requests since ap_meets_conditions() is not aware that this is a dynamic request and it is not possible to satisfy 304 for these requests (unless xbithack full is on, of course). When mod_include runs as a filter, it is too late to set any flag since the handler is responsible for calling ap_meets_conditions(), which it should do before generating any data. If a module doesn't need to run such arbitrary code, it can just pass NULL as the argument and all is well. PR: 9673 Reviewed by: Ryan Bloom and others git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95906 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.0 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.