Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 535a7a10fe62254ee9ca7e6375f081a9 > files > 232

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_common.mime_arg.html">
<link rel="next" href="Netcgi_common.cgi.html">
<link rel="Up" href="Netcgi_common.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_common.cgi_environment</title>
</head>
<body>
<div class="navbar"><a href="Netcgi_common.mime_arg.html">Previous</a>
&nbsp;<a href="Netcgi_common.html">Up</a>
&nbsp;<a href="Netcgi_common.cgi.html">Next</a>
</div>
<center><h1>Class <a href="type_Netcgi_common.cgi_environment.html">Netcgi_common.cgi_environment</a></h1></center>
<br>
<pre><span class="keyword">class</span> <a name="TYPEcgi_environment"></a>cgi_environment : <code class="type">config:<a href="Netcgi_common.html#TYPEconfig">config</a> -> properties:(string * string) list -> input_header:(string * string) list -> <a href="Netchannels.out_obj_channel.html">Netchannels.out_obj_channel</a> -> </code><code class="code">object</code> <a href="Netcgi_common.cgi_environment.html">..</a> <code class="code">end</code></pre><code class="code">new cgi_environment ~config ~properties ~input_header out_obj</code>
    generates a <a href="Netcgi.cgi_environment.html"><code class="code">Netcgi.cgi_environment</code></a> object, from the arguments.
    The creation of such an object <i>does not</i> raise any exception.
    The method <code class="code">#out_channel</code> of the created environment returns
    <code class="code">out_obj</code>.<br>
<div class="param_info"><code class="code">config</code> : give the configuration options.  Of particular
    interest here is <code class="code">config.workarounds</code>.  If
    <code class="code">`MSIE_Content_type_bug</code> is present, a fix will be applied to
    <code class="code">input_header</code>.</div>
<div class="param_info"><code class="code">properties</code> : CGI-like properties as (name, value) pairs.
    Examples: <code class="code">("REQUEST_METHOD", "POST")</code>, <code class="code">("SERVER_PROTOCOL",
    "HTTP/1.1")</code>.  Note that "CONTENT_TYPE" and "CONTENT_LENGTH" are
    part of the input header.  It is highly recommended to use
    <a href="Netcgi_common.html#VALupdate_props_inheader"><code class="code">Netcgi_common.update_props_inheader</code></a> to build this list.</div>
<div class="param_info"><code class="code">input_header</code> : is a list of (field, value) pairs of the HTTP
    input request.  It is ASSUMED that field names in <code class="code">input_header</code>
    are lowercase in order to apply a fix to the MSIE Content-Type
    bug.  Also remember that the separator is '-', not '_'.  Both
    requirements will be stafisfied if you use
    <a href="Netcgi_common.html#VALupdate_props_inheader"><code class="code">Netcgi_common.update_props_inheader</code></a> to build <code class="code">input_header</code>.
<p>

    <b>Notes:</b> The header is kept into variables and
    <code class="code">#send_output_header</code> sents it directly to <code class="code">out_obj</code>.  This has
    several advantages:
<p>
<ul>
<li>It is possible to change header fields at every moment before
    the commitment happens. For example, it is possible to set the
    content-length field which is normally only known just at the
    time of the commit operation.</li>
</ul>
<ul>
<li>The <code class="code">environment</code> object can process the header; for example
    it can fix header fields.</li>
</ul>
<ul>
<li>It is simpler to connect to environments which transport the
    header in non-standard ways.  Example: Assume that the
    environment is the web server process (e.g. we are an Apache
    module).  Typically the header must be stored in different
    structures than the body of the message.</li>
</ul>
</div>
<hr width="100%">
<pre><span class="keyword">val</span> <a name="ATTheader_not_sent"></a><span class="keyword">mutable</span> header_not_sent : <code class="type">bool</code></pre><div class="info">
<code class="code">true</code> iff the output headers have not been sent.
	<code class="code">#send_output_header</code> must set it to false once it did its
	job.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODcgi_gateway_interface"></a>cgi_gateway_interface : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_server_name"></a>cgi_server_name : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_server_port"></a>cgi_server_port : <code class="type">int option</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_server_protocol"></a>cgi_server_protocol : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_server_software"></a>cgi_server_software : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_request_method"></a>cgi_request_method : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_script_name"></a>cgi_script_name : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_path_info"></a>cgi_path_info : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_path_translated"></a>cgi_path_translated : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_auth_type"></a>cgi_auth_type : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_remote_addr"></a>cgi_remote_addr : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_remote_host"></a>cgi_remote_host : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_remote_user"></a>cgi_remote_user : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_remote_ident"></a>cgi_remote_ident : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_query_string"></a>cgi_query_string : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODprotocol"></a>protocol : <code class="type"><a href="Nethttp.html#TYPEprotocol">Nethttp.protocol</a></code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_property"></a>cgi_property : <code class="type">?default:string -> string -> string</code></pre><pre><span class="keyword">method</span> <a name="METHODcgi_properties"></a>cgi_properties : <code class="type">(string * string) list</code></pre><div class="info">
Return the parameter <code class="code">properties</code>.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODcgi_https"></a>cgi_https : <code class="type">bool</code></pre><div class="info">
<b>Raises</b> <code>HTTP</code> if the HTTPS property is not understood.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODinput_header"></a>input_header : <code class="type"><a href="Netmime.mime_header.html">Netmime.mime_header</a></code></pre><div class="info">
For special header structures, just override this method.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODinput_header_field"></a>input_header_field : <code class="type">?default:string -> string -> string</code></pre><pre><span class="keyword">method</span> <a name="METHODmultiple_input_header_field"></a>multiple_input_header_field : <code class="type">string -> string list</code></pre><pre><span class="keyword">method</span> <a name="METHODinput_header_fields"></a>input_header_fields : <code class="type">(string * string) list</code></pre><pre><span class="keyword">method</span> <a name="METHODcookie"></a>cookie : <code class="type">string -> <a href="Netcgi_common.Cookie.html#TYPEt">Cookie.t</a></code></pre><pre><span class="keyword">method</span> <a name="METHODcookies"></a>cookies : <code class="type"><a href="Netcgi_common.Cookie.html#TYPEt">Cookie.t</a> list</code></pre><pre><span class="keyword">method</span> <a name="METHODuser_agent"></a>user_agent : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODinput_content_length"></a>input_content_length : <code class="type">int</code></pre><pre><span class="keyword">method</span> <a name="METHODinput_content_type_string"></a>input_content_type_string : <code class="type">string</code></pre><pre><span class="keyword">method</span> <a name="METHODinput_content_type"></a>input_content_type : <code class="type">unit -> string * (string * <a href="Mimestring.html#TYPEs_param">Mimestring.s_param</a>) list</code></pre><pre><span class="keyword">method</span> <a name="METHODoutput_header"></a>output_header : <code class="type"><a href="Netmime.mime_header.html">Netmime.mime_header</a></code></pre><div class="info">
For special header structures, override this method and
	maybe <code class="code">#send_output_header</code>.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODoutput_header_field"></a>output_header_field : <code class="type">?default:string -> string -> string</code></pre><pre><span class="keyword">method</span> <a name="METHODmultiple_output_header_field"></a>multiple_output_header_field : <code class="type">string -> string list</code></pre><pre><span class="keyword">method</span> <a name="METHODoutput_header_fields"></a>output_header_fields : <code class="type">(string * string) list</code></pre><pre><span class="keyword">method</span> <a name="METHODset_output_header_field"></a>set_output_header_field : <code class="type">string -> string -> unit</code></pre><pre><span class="keyword">method</span> <a name="METHODset_multiple_output_header_field"></a>set_multiple_output_header_field : <code class="type">string -> string list -> unit</code></pre><pre><span class="keyword">method</span> <a name="METHODset_output_header_fields"></a>set_output_header_fields : <code class="type">(string * string) list -> unit</code></pre><pre><span class="keyword">method</span> <a name="METHODset_status"></a>set_status : <code class="type"><a href="Nethttp.html#TYPEhttp_status">Nethttp.http_status</a> -> unit</code></pre><pre><span class="keyword">method</span> <a name="METHODsend_output_header"></a>send_output_header : <code class="type">unit -> unit</code></pre><pre><span class="keyword">method</span> <a name="METHODoutput_ch"></a>output_ch : <code class="type"><a href="Netchannels.out_obj_channel.html">Netchannels.out_obj_channel</a></code></pre><div class="info">
<span class="warning">Deprecated.</span>Use <code class="code">#out_channel</code> instead.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODout_channel"></a>out_channel : <code class="type"><a href="Netchannels.out_obj_channel.html">Netchannels.out_obj_channel</a></code></pre><pre><span class="keyword">method</span> <a name="METHODlog_error"></a>log_error : <code class="type">string -> unit</code></pre><div class="info">
You may want to override this with your custom logging method.
	By default, <code class="code">#log_error msg</code> adds a timestamp to <code class="code">msg</code> and
	sends th result to <code class="code">stderr</code>.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODconfig"></a>config : <code class="type"><a href="Netcgi_common.html#TYPEconfig">config</a></code></pre></body></html>