]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Add some more information about which request phases are available for hooking, and...
authorDaniel Gruno <humbedooh@apache.org>
Thu, 2 Aug 2012 11:09:58 +0000 (11:09 +0000)
committerDaniel Gruno <humbedooh@apache.org>
Thu, 2 Aug 2012 11:09:58 +0000 (11:09 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1368416 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/mod_lua.xml

index 4893519286996ec252031530059791fbaf8cf447..be66a51504bd4fd1b61f6fc11d73cc997f9d6efc 100644 (file)
@@ -194,8 +194,70 @@ LuaAuthzProvider foo authz_provider.lua authz_check_foo
 <p>Hook functions are how modules (and Lua scripts) participate in the
 processing of requests. Each type of hook exposed by the server exists for
 a specific purposes such as mapping requests to the filesystem,
-performing access control, or setting mimetypes.  General purpose hooks
-that simply run at handy times in the request lifecycle exist as well.</p>
+performing access control, or setting mimetypes:</p>
+
+<table border="1" style="zebra">
+    <tr>
+        <th>Hook phase</th>
+        <th>mod_lua directive</th>
+        <th>Description</th>
+    </tr>
+    <tr>
+        <td>Quick handler</td>
+        <td><directive module="mod_lua">LuaQuickHandler</directive></td>
+        <td>This is the first hook that will be called after a request has 
+            been mapped to a host or virtual host</td>
+    </tr>
+    <tr>
+        <td>Translate name</td>
+        <td><directive module="mod_lua">LuaHookTranslateName</directive></td>
+        <td>This phase translates the requested URI into a filename on the 
+            system. Modules such as <module>mod_alias</module> and
+            <module>mod_rewrite</module> operate in this phase.</td>
+    </tr>
+    <tr>
+        <td>Map to storage</td>
+        <td><directive module="mod_lua">LuaHookMapToStorage</directive></td>
+        <td>This phase maps files to their physical, cached or external/proxied storage. 
+            It can be used by proxy or caching modules</td>
+    </tr>
+    <tr>
+        <td>Check Access</td>
+        <td><directive module="mod_lua">LuaHookAuthChecker</directive> or <directive module="mod_lua">LuaAuthzProvider</directive></td>
+        <td>This phase authenticates and grants or denies access to the 
+            requested resource</td>
+    </tr>
+    <tr>
+        <td>Check User ID</td>
+        <td><directive module="mod_lua">LuaHookCheckUserID</directive></td>
+        <td>This phase it used to check the negotiated user ID</td>
+    </tr>
+    <tr>
+        <td>Check Type</td>
+        <td><directive module="mod_lua">LuaHookTypeChecker</directive></td>
+        <td>This phase checks the requested file and assigns a content type and 
+            a handler to it</td>
+    </tr>
+    <tr>
+        <td>Fixups</td>
+        <td><directive module="mod_lua">LuaHookFixups</directive></td>
+        <td>This is the final "fix anything" phase before the content handlers 
+            are run. Any last-minute changes to the request should be made here.</td>
+    </tr>
+    <tr>
+        <td>Content handler</td>
+        <td>fx. <code>.lua</code> files or through <directive module="mod_lua">LuaMapHandler</directive></td>
+        <td>This is where the content is handled. Files are read, parsed, some are run, 
+            and the result is sent to the client</td>
+    </tr>
+    <tr>
+        <td>Logging</td>
+        <td>(none)</td>
+        <td>Once a request has been handled, it enters several logging phases, 
+            which logs the request in either the error or access log</td>
+    </tr>
+
+</table>
 
 <p>Hook functions are passed the request object as their only argument.
 They can return any value, depending on the hook, but most commonly