Sophie

Sophie

distrib > * > cooker > x86_64 > by-pkgid > c82fbb12a1c61d087a9308adf47a46ab > files > 280

ocaml-ocamlnet-devel-2.2.9-10.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_cgi.html">
<link rel="next" href="Netcgi_dbi.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 attributes" rel=Appendix href="index_attributes.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="Index of module types" rel=Appendix href="index_module_types.html">
<link title="Uq_gtk" rel="Chapter" href="Uq_gtk.html">
<link title="Equeue" rel="Chapter" href="Equeue.html">
<link title="Unixqueue" rel="Chapter" href="Unixqueue.html">
<link title="Uq_engines" rel="Chapter" href="Uq_engines.html">
<link title="Uq_socks5" rel="Chapter" href="Uq_socks5.html">
<link title="Unixqueue_mt" rel="Chapter" href="Unixqueue_mt.html">
<link title="Equeue_intro" rel="Chapter" href="Equeue_intro.html">
<link title="Uq_ssl" rel="Chapter" href="Uq_ssl.html">
<link title="Uq_tcl" rel="Chapter" href="Uq_tcl.html">
<link title="Netcgi_common" rel="Chapter" href="Netcgi_common.html">
<link title="Netcgi" rel="Chapter" href="Netcgi.html">
<link title="Netcgi_ajp" rel="Chapter" href="Netcgi_ajp.html">
<link title="Netcgi_scgi" rel="Chapter" href="Netcgi_scgi.html">
<link title="Netcgi_cgi" rel="Chapter" href="Netcgi_cgi.html">
<link title="Netcgi_fcgi" rel="Chapter" href="Netcgi_fcgi.html">
<link title="Netcgi_dbi" rel="Chapter" href="Netcgi_dbi.html">
<link title="Netcgi1_compat" rel="Chapter" href="Netcgi1_compat.html">
<link title="Netcgi_test" rel="Chapter" href="Netcgi_test.html">
<link title="Netcgi_porting" rel="Chapter" href="Netcgi_porting.html">
<link title="Netcgi_plex" rel="Chapter" href="Netcgi_plex.html">
<link title="Http_client" rel="Chapter" href="Http_client.html">
<link title="Telnet_client" rel="Chapter" href="Telnet_client.html">
<link title="Ftp_data_endpoint" rel="Chapter" href="Ftp_data_endpoint.html">
<link title="Ftp_client" rel="Chapter" href="Ftp_client.html">
<link title="Nethttpd_types" rel="Chapter" href="Nethttpd_types.html">
<link title="Nethttpd_kernel" rel="Chapter" href="Nethttpd_kernel.html">
<link title="Nethttpd_reactor" rel="Chapter" href="Nethttpd_reactor.html">
<link title="Nethttpd_engine" rel="Chapter" href="Nethttpd_engine.html">
<link title="Nethttpd_services" rel="Chapter" href="Nethttpd_services.html">
<link title="Nethttpd_plex" rel="Chapter" href="Nethttpd_plex.html">
<link title="Nethttpd_intro" rel="Chapter" href="Nethttpd_intro.html">
<link title="Netplex_types" rel="Chapter" href="Netplex_types.html">
<link title="Netplex_mp" rel="Chapter" href="Netplex_mp.html">
<link title="Netplex_mt" rel="Chapter" href="Netplex_mt.html">
<link title="Netplex_log" rel="Chapter" href="Netplex_log.html">
<link title="Netplex_controller" rel="Chapter" href="Netplex_controller.html">
<link title="Netplex_container" rel="Chapter" href="Netplex_container.html">
<link title="Netplex_sockserv" rel="Chapter" href="Netplex_sockserv.html">
<link title="Netplex_workload" rel="Chapter" href="Netplex_workload.html">
<link title="Netplex_main" rel="Chapter" href="Netplex_main.html">
<link title="Netplex_config" rel="Chapter" href="Netplex_config.html">
<link title="Netplex_kit" rel="Chapter" href="Netplex_kit.html">
<link title="Rpc_netplex" rel="Chapter" href="Rpc_netplex.html">
<link title="Netplex_cenv" rel="Chapter" href="Netplex_cenv.html">
<link title="Netplex_intro" rel="Chapter" href="Netplex_intro.html">
<link title="Netshm" rel="Chapter" href="Netshm.html">
<link title="Netshm_data" rel="Chapter" href="Netshm_data.html">
<link title="Netshm_hashtbl" rel="Chapter" href="Netshm_hashtbl.html">
<link title="Netshm_array" rel="Chapter" href="Netshm_array.html">
<link title="Netshm_intro" rel="Chapter" href="Netshm_intro.html">
<link title="Netconversion" rel="Chapter" href="Netconversion.html">
<link title="Netchannels" rel="Chapter" href="Netchannels.html">
<link title="Netstream" rel="Chapter" href="Netstream.html">
<link title="Mimestring" rel="Chapter" href="Mimestring.html">
<link title="Netmime" rel="Chapter" href="Netmime.html">
<link title="Netsendmail" rel="Chapter" href="Netsendmail.html">
<link title="Neturl" rel="Chapter" href="Neturl.html">
<link title="Netaddress" rel="Chapter" href="Netaddress.html">
<link title="Netbuffer" rel="Chapter" href="Netbuffer.html">
<link title="Netdate" rel="Chapter" href="Netdate.html">
<link title="Netencoding" rel="Chapter" href="Netencoding.html">
<link title="Netulex" rel="Chapter" href="Netulex.html">
<link title="Netaccel" rel="Chapter" href="Netaccel.html">
<link title="Netaccel_link" rel="Chapter" href="Netaccel_link.html">
<link title="Nethtml" rel="Chapter" href="Nethtml.html">
<link title="Netstring_str" rel="Chapter" href="Netstring_str.html">
<link title="Netstring_pcre" rel="Chapter" href="Netstring_pcre.html">
<link title="Netstring_mt" rel="Chapter" href="Netstring_mt.html">
<link title="Netmappings" rel="Chapter" href="Netmappings.html">
<link title="Netaux" rel="Chapter" href="Netaux.html">
<link title="Nethttp" rel="Chapter" href="Nethttp.html">
<link title="Netchannels_tut" rel="Chapter" href="Netchannels_tut.html">
<link title="Netmime_tut" rel="Chapter" href="Netmime_tut.html">
<link title="Netsendmail_tut" rel="Chapter" href="Netsendmail_tut.html">
<link title="Netulex_tut" rel="Chapter" href="Netulex_tut.html">
<link title="Neturl_tut" rel="Chapter" href="Neturl_tut.html">
<link title="Netsys" rel="Chapter" href="Netsys.html">
<link title="Netpop" rel="Chapter" href="Netpop.html">
<link title="Rpc_auth_dh" rel="Chapter" href="Rpc_auth_dh.html">
<link title="Rpc_key_service" rel="Chapter" href="Rpc_key_service.html">
<link title="Rpc_time" rel="Chapter" href="Rpc_time.html">
<link title="Rpc_auth_local" rel="Chapter" href="Rpc_auth_local.html">
<link title="Rtypes" rel="Chapter" href="Rtypes.html">
<link title="Xdr" rel="Chapter" href="Xdr.html">
<link title="Rpc" rel="Chapter" href="Rpc.html">
<link title="Rpc_program" rel="Chapter" href="Rpc_program.html">
<link title="Rpc_portmapper_aux" rel="Chapter" href="Rpc_portmapper_aux.html">
<link title="Rpc_packer" rel="Chapter" href="Rpc_packer.html">
<link title="Rpc_transport" rel="Chapter" href="Rpc_transport.html">
<link title="Rpc_client" rel="Chapter" href="Rpc_client.html">
<link title="Rpc_simple_client" rel="Chapter" href="Rpc_simple_client.html">
<link title="Rpc_portmapper_clnt" rel="Chapter" href="Rpc_portmapper_clnt.html">
<link title="Rpc_portmapper" rel="Chapter" href="Rpc_portmapper.html">
<link title="Rpc_server" rel="Chapter" href="Rpc_server.html">
<link title="Rpc_auth_sys" rel="Chapter" href="Rpc_auth_sys.html">
<link title="Rpc_intro" rel="Chapter" href="Rpc_intro.html">
<link title="Rpc_mapping_ref" rel="Chapter" href="Rpc_mapping_ref.html">
<link title="Rpc_ssl" rel="Chapter" href="Rpc_ssl.html">
<link title="Rpc_xti_client" rel="Chapter" href="Rpc_xti_client.html">
<link title="Shell_sys" rel="Chapter" href="Shell_sys.html">
<link title="Shell" rel="Chapter" href="Shell.html">
<link title="Shell_uq" rel="Chapter" href="Shell_uq.html">
<link title="Shell_mt" rel="Chapter" href="Shell_mt.html">
<link title="Shell_intro" rel="Chapter" href="Shell_intro.html">
<link title="Netsmtp" rel="Chapter" href="Netsmtp.html"><title>Ocamlnet 2 Reference Manual : Netcgi_fcgi</title>
</head>
<body>
<div class="navbar"><a href="Netcgi_cgi.html">Previous</a>
&nbsp;<a href="index.html">Up</a>
&nbsp;<a href="Netcgi_dbi.html">Next</a>
</div>
<center><h1>Module <a href="type_Netcgi_fcgi.html">Netcgi_fcgi</a></h1></center>
<br>
<pre><span class="keyword">module</span> Netcgi_fcgi: <code class="code">sig</code> <a href="Netcgi_fcgi.html">..</a> <code class="code">end</code></pre>FastCGI connector.
<p>

 <b>Remark:</b> This connector does not allow requests to be multiplexed
 (and let it know to the web server via FCGI_MPXS_CONNS=0).
 Multiplexing requests is seldom done by
 <a href="http://www.fastcgi.com">FastCGI modules</a> and is even sometimes
 impossible because of bugs in them.  Moreover, multiplexing is
 mostly useful if concurrent requests are handled by different
 threads while this library use a single thread to process all
 requests coming on a given connection.  If the need is felt (speak
 out!), a multithreaded connector can be built on the side of this
 one.<br>
<hr width="100%">
<pre><span class="keyword">class type</span> <a name="TYPEcgi"></a><a href="Netcgi_fcgi.cgi.html">cgi</a> = <code class="code">object</code> <a href="Netcgi_fcgi.cgi.html">..</a> <code class="code">end</code></pre><div class="info">
The usual <a href="Netcgi.cgi.html"><code class="code">Netcgi.cgi</code></a> class with FCGI specific methods.
</div>
<pre><span class="keyword">val</span> <a name="VALrun"></a>run : <code class="type">?config:<a href="Netcgi.html#TYPEconfig">Netcgi.config</a> -><br>       ?allow:(Unix.sockaddr -> bool) -><br>       ?output_type:<a href="Netcgi.html#TYPEoutput_type">Netcgi.output_type</a> -><br>       ?arg_store:<a href="Netcgi.html#TYPEarg_store">Netcgi.arg_store</a> -><br>       ?exn_handler:<a href="Netcgi.html#TYPEexn_handler">Netcgi.exn_handler</a> -><br>       ?sockaddr:Unix.sockaddr -> (<a href="Netcgi_fcgi.cgi.html">cgi</a> -> unit) -> unit</code></pre><div class="info">
<code class="code">run f</code> register the function <code class="code">f</code> as a main function of the
      script.  Each call to the script will execute <code class="code">f cgi</code>.  The code
      outside <code class="code">f</code> will be executed only once (when the script is
      loaded into memory) which allows to cache database connections,
      etc.<br>
</div>
<div class="param_info"><code class="code">config</code> : Default: <a href="Netcgi.html#VALdefault_config"><code class="code">Netcgi.default_config</code></a></div>
<div class="param_info"><code class="code">allow</code> : Tells whether a connection from the socket is allowed.
                   Default: Use the comma separated list given in the
                   environment variable FCGI_WEB_SERVER_ADDRS or allow all
                   if it does not exist.</div>
<div class="param_info"><code class="code">output_type</code> : Default: <code class="code">`Direct ""</code></div>
<div class="param_info"><code class="code">arg_store</code> : Default: <code class="code">`Automatic</code> for all arguments.</div>
<div class="param_info"><code class="code">exn_handler</code> : See <a href="Netcgi.html#TYPEexn_handler"><code class="code">Netcgi.exn_handler</code></a>.  Default: delegate
      all exceptions to the default handler.</div>
<div class="param_info"><code class="code">sockaddr</code> : tells on what socket to contact the script.  If
      not specified, the script expects to be launched by the web
      server and to communicate with it through stdin.  For external
      scripts (launched independently of the web server and possibly
      on a different machine), set <code class="code">sockaddr</code> to the address the web
      server needs to connect to to talk to the script (this address
      must also be specified in the wen server config file).
<p>

      Your application should be ready handle SIGUSR1, used to
      resquest a "graceful" process shutdown, and SIGTERM to request a
      quick shutdown.</div>
<pre><span class="keyword">val</span> <a name="VALhandle_request"></a>handle_request : <code class="type"><a href="Netcgi.html#TYPEconfig">Netcgi.config</a> -><br>       <a href="Netcgi.html#TYPEoutput_type">Netcgi.output_type</a> -><br>       <a href="Netcgi.html#TYPEarg_store">Netcgi.arg_store</a> -><br>       <a href="Netcgi.html#TYPEexn_handler">Netcgi.exn_handler</a> -><br>       (<a href="Netcgi_fcgi.cgi.html">cgi</a> -> unit) -><br>       max_conns:int -><br>       log:(string -> unit) option -> Unix.file_descr -> <a href="Netcgi.html#TYPEconnection_directive">Netcgi.connection_directive</a></code></pre><div class="info">
<code class="code">handle_request config output_type arg_store eh f ~max_conns
        ~log fd</code>: This is a lower-level interface that processes
        exactly one request arriving on the existing connection <code class="code">fd</code>.
<p>

        <code class="code">max_conns</code> is passed to the FCGI client and indicates how many
        connections this server can process in parallel.
<p>

        <code class="code">log</code> is the error logger function or <code class="code">None</code>, in which case
        errors are passed through to the FCGI client.
<p>

        The other arguments are just like for <code class="code">run</code>.
<p>

        The return value indicates whether the connection can be kept
        open or must be closed.<br>
</div>
</body></html>