1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-25 07:01:39 +03:00
Files
apache/modules/experimental
Justin Erenkrantz 798c1dae43 Add a filter_init function to the filters so that a filter can execute
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
2002-06-28 08:40:25 +00:00
..
2002-06-23 06:10:00 +00:00
2002-06-23 06:10:00 +00:00
2002-06-23 06:10:00 +00:00
2002-06-17 01:59:32 +00:00

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.