<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <link rel="STYLESHEET" href="modpython.css" type='text/css' /> <link rel="first" href="modpython.html" title='Mod_python Manual' /> <link rel='contents' href='contents.html' title="Contents" /> <link rel='index' href='genindex.html' title='Index' /> <link rel='last' href='about.html' title='About this document...' /> <link rel='help' href='about.html' title='About this document...' /> <link rel="next" href="dir-handlers-th.html" /> <link rel="prev" href="dir-handlers-syn.html" /> <link rel="parent" href="dir-handlers.html" /> <link rel="next" href="dir-handlers-th.html" /> <meta name='aesop' content='information' /> <title>5.1.2 PythonPostReadRequestHandler</title> </head> <body> <DIV CLASS="navigation"> <div id='top-navigation-panel' xml:id='top-navigation-panel'> <table align="center" width="100%" cellpadding="0" cellspacing="2"> <tr> <td class='online-navigation'><a rel="prev" title="5.1.1 Python*Handler Directive Syntax" href="dir-handlers-syn.html"><img src='previous.png' border='0' height='32' alt='Previous Page' width='32' /></A></td> <td class='online-navigation'><a rel="parent" title="5.1 Request Handlers" href="dir-handlers.html"><img src='up.png' border='0' height='32' alt='Up One Level' width='32' /></A></td> <td class='online-navigation'><a rel="next" title="5.1.3 PythonTransHandler" href="dir-handlers-th.html"><img src='next.png' border='0' height='32' alt='Next Page' width='32' /></A></td> <td align="center" width="100%">Mod_python Manual</td> <td class='online-navigation'><a rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png' border='0' height='32' alt='Contents' width='32' /></A></td> <td class='online-navigation'><img src='blank.png' border='0' height='32' alt='' width='32' /></td> <td class='online-navigation'><a rel="index" title="Index" href="genindex.html"><img src='index.png' border='0' height='32' alt='Index' width='32' /></A></td> </tr></table> <div class='online-navigation'> <b class="navlabel">Previous:</b> <a class="sectref" rel="prev" href="dir-handlers-syn.html">5.1.1 Python*Handler Directive Syntax</A> <b class="navlabel">Up:</b> <a class="sectref" rel="parent" href="dir-handlers.html">5.1 Request Handlers</A> <b class="navlabel">Next:</b> <a class="sectref" rel="next" href="dir-handlers-th.html">5.1.3 PythonTransHandler</A> </div> <hr /></div> </DIV> <!--End of Navigation Panel--> <H2><A NAME="SECTION007120000000000000000"></A><A NAME="dir-handlers-prrh"></A> <a id='l2h-268' xml:id='l2h-268'></a> <BR> 5.1.2 PythonPostReadRequestHandler </H2> <P> <strong><em class="citetitle"><a href="http://httpd.apache.org/docs-2.0/mod/directive-dict.html#Syntax" title="Syntax:" >Syntax:</a></em></strong> <em>Python*Handler Syntax</em> <BR><em class="citetitle"><a href="http://httpd.apache.org/docs-2.0/mod/directive-dict.html#Context" title="Context:" >Context:</a></em> server config, virtual host <BR><em class="citetitle"><a href="http://httpd.apache.org/docs-2.0/mod/directive-dict.html#Override" title="Override:" >Override:</a></em> not None <BR><em class="citetitle"><a href="http://httpd.apache.org/docs-2.0/mod/directive-dict.html#Module" title="Module:" >Module:</a></em> mod_python.c <P> This handler is called after the request has been read but before any other phases have been processed. This is useful to make decisions based upon the input header fields. <P> Where multiple handlers are specified, if any handler in the sequence returns a value other than <code>apache.OK</code> or <code>apache.DECLINED</code>, then execution of all subsequent handlers for this phase are aborted. <P> <div class="note"><b class="label">Note:</b> When this phase of the request is processed, the URI has not yet been translated into a path name, therefore this directive could never be executed by Apache if it could specified within <code><Directory></code>, <code><Location></code>, <code><File></code> directives or in an <span class="file">.htaccess</span> file. The only place this directive is allowed is the main configuration file, and the code for it will execute in the main interpreter. And because this phase happens before any identification of the type of content being requested is done (i.e. is this a python program or a gif?), the python routine specified with this handler will be called for <em>ALL</em> requests on this server (not just python programs), which is an important consideration if performance is a priority. </div> <P> <a id='l2h-269' xml:id='l2h-269'></a> The handlers below are documented in order in which phases are processed by Apache. <P> <DIV CLASS="navigation"> <div class='online-navigation'> <p></p><hr /> <table align="center" width="100%" cellpadding="0" cellspacing="2"> <tr> <td class='online-navigation'><a rel="prev" title="5.1.1 Python*Handler Directive Syntax" href="dir-handlers-syn.html"><img src='previous.png' border='0' height='32' alt='Previous Page' width='32' /></A></td> <td class='online-navigation'><a rel="parent" title="5.1 Request Handlers" href="dir-handlers.html"><img src='up.png' border='0' height='32' alt='Up One Level' width='32' /></A></td> <td class='online-navigation'><a rel="next" title="5.1.3 PythonTransHandler" href="dir-handlers-th.html"><img src='next.png' border='0' height='32' alt='Next Page' width='32' /></A></td> <td align="center" width="100%">Mod_python Manual</td> <td class='online-navigation'><a rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png' border='0' height='32' alt='Contents' width='32' /></A></td> <td class='online-navigation'><img src='blank.png' border='0' height='32' alt='' width='32' /></td> <td class='online-navigation'><a rel="index" title="Index" href="genindex.html"><img src='index.png' border='0' height='32' alt='Index' width='32' /></A></td> </tr></table> <div class='online-navigation'> <b class="navlabel">Previous:</b> <a class="sectref" rel="prev" href="dir-handlers-syn.html">5.1.1 Python*Handler Directive Syntax</A> <b class="navlabel">Up:</b> <a class="sectref" rel="parent" href="dir-handlers.html">5.1 Request Handlers</A> <b class="navlabel">Next:</b> <a class="sectref" rel="next" href="dir-handlers-th.html">5.1.3 PythonTransHandler</A> </div> </div> <hr /> <span class="release-info">Release 3.3.1, documentation updated on January 29, 2007.</span> </DIV> <!--End of Navigation Panel--> </BODY> </HTML>