Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > contrib-release > by-pkgid > 535a7a10fe62254ee9ca7e6375f081a9 > files > 541

ocaml-ocamlnet-2.2.7-4mdv2008.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="previous" href="Netcgi_jserv.html">
<link rel="next" href="Netcgi_jserv_app.html">
<link rel="Up" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of class methods" rel=Appendix href="index_methods.html">
<link title="Index of classes" rel=Appendix href="index_classes.html">
<link title="Index of class types" rel=Appendix href="index_class_types.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Netcgi_env" rel="Chapter" href="Netcgi_env.html">
<link title="Netcgi_types" rel="Chapter" href="Netcgi_types.html">
<link title="Netcgi" rel="Chapter" href="Netcgi.html">
<link title="Netcgi_jserv" rel="Chapter" href="Netcgi_jserv.html">
<link title="Netcgi_jserv_ajp12" rel="Chapter" href="Netcgi_jserv_ajp12.html">
<link title="Netcgi_jserv_app" rel="Chapter" href="Netcgi_jserv_app.html">
<link title="Netcgi_fcgi_10" rel="Chapter" href="Netcgi_fcgi_10.html">
<link title="Netcgi_fcgi" rel="Chapter" href="Netcgi_fcgi.html">
<link title="Netcgi1_compat" rel="Chapter" href="Netcgi1_compat.html"><title>Ocamlnet 2 Reference Manual (netcgi1 add-on) : Netcgi_jserv_ajp12</title>
</head>
<body>
<div class="navbar"><a href="Netcgi_jserv.html">Previous</a>
&nbsp;<a href="index.html">Up</a>
&nbsp;<a href="Netcgi_jserv_app.html">Next</a>
</div>
<center><h1>Module <a href="type_Netcgi_jserv_ajp12.html">Netcgi_jserv_ajp12</a></h1></center>
<br>
<pre><span class="keyword">module</span> Netcgi_jserv_ajp12: <code class="code">sig</code> <a href="Netcgi_jserv_ajp12.html">..</a> <code class="code">end</code></pre>Implementation of the AJP/1.2 protocol<br>
<hr width="100%">
<br>
This module implements the core of the AJP/1.2 protocol. This protocol is supported
 by both the old mod_jserv and by the newer mod_jk (Jakarta/Tomcat).
 Note however, that mod_jserv passes more variables, and that it is fully CGI
 compatible. In contrast to this, mod_jk omits some variables (e.g.
 PATH_INFO, and SCRIPT_NAME). These variables must be fixed by special
 rules, see below. Furthermore, mod_jk has a different format
 of the property file, but it is not (yet) accepted by this library.
 mod_jk does not support authentication for AJP/1.2. So try to get 
 mod_jserv if possible.<br>
<pre><span class="keyword">val</span> <a name="VALserve_connection"></a>serve_connection : <code class="type">?config:<a href="Netcgi_env.html#TYPEcgi_config">Netcgi_env.cgi_config</a> -><br>       ?https:bool -><br>       ?jk_servletSubString:string -><br>       (string option -> string option -> <a href="Netcgi_env.cgi_environment.html">Netcgi_env.cgi_environment</a> -> unit) -><br>       <a href="Netcgi_jserv.html#TYPEauth">Netcgi_jserv.auth</a> option -><br>       Netchannels.in_obj_channel -> Netchannels.out_obj_channel -> unit</code></pre><div class="info">
Serves the connection designated by the <code class="code">in_obj_channel</code> and the
 <code class="code">out_obj_channel</code>. The function ensures that both channels are closed
 before it returns to the caller (and before it raises an exception).
<p>

 If an authentication record <code class="code">auth</code> is passed, the connection is authenticated
 first. If this fails, the channels will be closed immediately, and the
 function will return normally.
<p>

 The request is read from the <code class="code">in_obj_channel</code>, and a <code class="code">cgi_environment</code>
 is created from it. The request handler is called with this
 environment and two extra string option arguments. The first is the
 zone, and the second is the servlet identifier. The request handler
 may look like a small CGI program:
<p>

 <pre><code class="code"> (fun zone servlet env -&gt;
   let cgi = new std_activation ~env () in
   cgi # set_header();
   cgi # output # output_string  "Hello world!";
   cgi # output # commit_work();
 )
 </code></pre>
<p>

 If the request arriving at the <code class="code">in_obj_channel</code> is a signal, the function
 will close both channels, and will raise either <code class="code">Signal_restart</code> or 
 <code class="code">Signal_shutdown</code>.
<p>

<br>
</div>
<div class="param_info"><code class="code">config</code> : This is the configuration of the <code class="code">cgi_environment</code>. It defaults
   to <a href="Netcgi_env.html#VALdefault_config"><code class="code">Netcgi_env.default_config</code></a></div>
<div class="param_info"><code class="code">https</code> : Because AJP/1.2 does not pass the <code class="code">HTTPS</code> variable, it is necessary
   to set this argument to <code class="code">true</code> if the server is secure.</div>
<div class="param_info"><code class="code">jk_servletSubString</code> : The fields <code class="code">servlet</code>, <code class="code">path_info</code>, and <code class="code">script_name</code>
   are always empty if mod_jk is used. There is a fixup routine that
   is controlled by this optional argument, and that will be invoked if
   servlet is empty. The fixup is
   that the string <code class="code">jk_servletSubString</code> is searched in the request URI,
   and if it is found, the following modifications will be applied:
   The <code class="code">servlet</code> is set to the path component following <code class="code">jk_servletSubString</code>.
   The <code class="code">path_info</code> is set to the rest of the URI. The <code class="code">script_name</code> is set
   to the beginning of the URI until the servlet name (inclusive).
   Other fields are not modified. If the string <code class="code">jk_servletSubString</code> is
   not found, or if it is the empty string, the <code class="code">servlet</code> name and the
   <code class="code">script_name</code> will be set to the request URI, and the <code class="code">path_info</code> will be set
   to the empty string.</div>
</body></html>