mirror of
				https://github.com/apache/httpd.git
				synced 2025-10-30 08:05:39 +03:00 
			
		
		
		
	containers. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1673892 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			142 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0"?>
 | |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
 | |
| <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
 | |
| <!-- $LastChangedRevision$ -->
 | |
| 
 | |
| <!--
 | |
|  Licensed to the Apache Software Foundation (ASF) under one or more
 | |
|  contributor license agreements.  See the NOTICE file distributed with
 | |
|  this work for additional information regarding copyright ownership.
 | |
|  The ASF licenses this file to You under the Apache License, Version 2.0
 | |
|  (the "License"); you may not use this file except in compliance with
 | |
|  the License.  You may obtain a copy of the License at
 | |
| 
 | |
|      http://www.apache.org/licenses/LICENSE-2.0
 | |
| 
 | |
|  Unless required by applicable law or agreed to in writing, software
 | |
|  distributed under the License is distributed on an "AS IS" BASIS,
 | |
|  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|  See the License for the specific language governing permissions and
 | |
|  limitations under the License.
 | |
| -->
 | |
| 
 | |
| <modulesynopsis metafile="mod_example_hooks.xml.meta">
 | |
| 
 | |
| <name>mod_example_hooks</name>
 | |
| <description>Illustrates the Apache module API</description>
 | |
| <status>Experimental</status>
 | |
| <sourcefile>mod_example_hooks.c</sourcefile>
 | |
| <identifier>example_hooks_module</identifier>
 | |
| 
 | |
| <summary>
 | |
|     <p>The files in the <code>modules/examples</code> directory
 | |
|     under the Apache distribution directory tree are provided as an
 | |
|     example to those that wish to write modules that use the Apache
 | |
|     API.</p>
 | |
| 
 | |
|     <p>The main file is <code>mod_example_hooks.c</code>, which
 | |
|     illustrates all the different callback mechanisms and call
 | |
|     syntaxes. By no means does an add-on module need to include
 | |
|     routines for all of the callbacks - quite the contrary!</p>
 | |
| 
 | |
|     <p>The example module is an actual working module. If you link
 | |
|     it into your server, enable the "example-hooks-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.</p>
 | |
| </summary>
 | |
| 
 | |
| <section id="compiling"><title>Compiling the example_hooks module</title>
 | |
| 
 | |
|     <p>To include the example_hooks module in your server, follow the
 | |
|     steps below:</p>
 | |
| 
 | |
|     <ol>
 | |
|       <li>
 | |
|         Run <program>configure</program> with <code>--enable-example-hooks</code>
 | |
|         option.</li>
 | |
| 
 | |
|       <li>Make the server (run "<code>make</code>").</li>
 | |
|     </ol>
 | |
| 
 | |
|     <p>To add another module of your own:</p>
 | |
| 
 | |
|     <ol type="A">
 | |
|       <li><code>cp modules/examples/mod_example_hooks.c
 | |
|       modules/new_module/<em>mod_myexample.c</em></code></li>
 | |
| 
 | |
|       <li>Modify the file.</li>
 | |
| 
 | |
|       <li>Create <code>modules/new_module/config.m4</code>.
 | |
|         <ol>
 | |
|           <li>Add <code>APACHE_MODPATH_INIT(new_module)</code>.</li>
 | |
|           <li>Copy APACHE_MODULE line with "example_hooks" from
 | |
|             <code>modules/examples/config.m4</code>.</li>
 | |
|           <li>Replace the first argument "example_hooks" with <em>myexample</em>.</li>
 | |
|           <li>Replace the second argument with brief description of your module.
 | |
|             It will be used in <code>configure --help</code>.</li>
 | |
|           <li>If your module needs additional C compiler flags, linker flags or
 | |
|             libraries, add them to CFLAGS, LDFLAGS and LIBS accordingly.
 | |
|             See other <code>config.m4</code> files in modules directory for
 | |
|             examples.</li>
 | |
|           <li>Add <code>APACHE_MODPATH_FINISH</code>.</li>
 | |
|         </ol>
 | |
|       </li>
 | |
| 
 | |
|       <li>Create <code>module/new_module/Makefile.in</code>.
 | |
|       If your module doesn't need special build instructions,
 | |
|       all you need to have in that file is
 | |
|       <code>include $(top_srcdir)/build/special.mk</code>.</li>
 | |
| 
 | |
|       <li>Run ./buildconf from the top-level directory.</li>
 | |
| 
 | |
|       <li>Build the server with --enable-myexample</li>
 | |
| 
 | |
|     </ol>
 | |
| </section>
 | |
| 
 | |
| <section id="using"><title>Using the <code>mod_example_hooks</code> Module</title>
 | |
| 
 | |
|     <p>To activate the example_hooks module, include a block similar to
 | |
|     the following in your <code>httpd.conf</code> file:</p>
 | |
| <highlight language="config">
 | |
| <Location "/example-hooks-info">
 | |
|    SetHandler example-hooks-handler
 | |
| </Location>
 | |
| </highlight>
 | |
| 
 | |
|     <p>As an alternative, you can put the following into a <a
 | |
|     href="core.html#accessfilename"><code>.htaccess</code></a> file
 | |
|     and then request the file "test.example" from that location:</p>
 | |
| <highlight language="config">
 | |
|    AddHandler example-hooks-handler .example
 | |
| </highlight>
 | |
| 
 | |
|     <p>After reloading/restarting your server, you should be able
 | |
|     to browse to this location and see the brief display mentioned
 | |
|     earlier.</p>
 | |
| </section>
 | |
| 
 | |
| <directivesynopsis>
 | |
| <name>Example</name>
 | |
| <description>Demonstration directive to illustrate the Apache module
 | |
| API</description>
 | |
| <syntax>Example</syntax>
 | |
| <contextlist><context>server config</context>
 | |
| <context>virtual host</context><context>directory</context>
 | |
| <context>.htaccess</context></contextlist>
 | |
| 
 | |
| <usage>
 | |
|     <p>The <directive>Example</directive> directive just sets a demonstration
 | |
|     flag which the example module's content handler displays. It
 | |
|     takes no arguments. If you browse to an URL to which the
 | |
|     example-hooks content-handler applies, you will get a display of the
 | |
|     routines within the module and how and in what order they were
 | |
|     called to service the document request. The effect of this
 | |
|     directive one can observe under the point "<code>Example
 | |
|     directive declared here: YES/NO</code>".</p>
 | |
| </usage>
 | |
| </directivesynopsis>
 | |
| 
 | |
| </modulesynopsis>
 |