Sophie

Sophie

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

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.rw_cgi_argument.html">
<link rel="next" href="Netcgi.cgi.html">
<link rel="Up" href="Netcgi.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"><link title="CGI properties" rel="Section" href="#3_CGIproperties">
<link title="Header of the incoming HTTP request." rel="Section" href="#3_HeaderoftheincomingHTTPrequest">
<link title="Response header" rel="Section" href="#3_Responseheader">
<link title="The output channel transferring the response" rel="Section" href="#3_Theoutputchanneltransferringtheresponse">
<link title="Logging" rel="Section" href="#3_Logging">
<link title="Miscellaneous" rel="Section" href="#3_Miscellaneous">
<title>Ocamlnet 2 Reference Manual : Netcgi.cgi_environment</title>
</head>
<body>
<div class="navbar"><a href="Netcgi.rw_cgi_argument.html">Previous</a>
&nbsp;<a href="Netcgi.html">Up</a>
&nbsp;<a href="Netcgi.cgi.html">Next</a>
</div>
<center><h1>Class type <a href="type_Netcgi.cgi_environment.html">Netcgi.cgi_environment</a></h1></center>
<br>
<pre><span class="keyword">class type</span> <a name="TYPEcgi_environment"></a>cgi_environment = <code class="code">object</code> <a href="Netcgi.cgi_environment.html">..</a> <code class="code">end</code></pre>The environment of a request consists of the information available
    besides the data sent by the user (as key-value pairs).<br>
<hr width="100%">
<a name="3_CGIproperties"></a>
<h3>CGI properties</h3>
<p>

      The following properties are standardised by CGI.  The methods
      return <code class="code">""</code> (or <code class="code">None</code> in the case of the port number) when the
      property is not available.<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><div class="info">
We recommend you to use the method <a href="Netcgi.cgi.html#METHODrequest_method"><code class="code">Netcgi.cgi.request_method</code></a>
	which is more type-safe and informative.<br>
</div>
<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><div class="info">
This is the row query string.  The <a href="Netcgi.cgi.html"><code class="code">Netcgi.cgi</code></a> class gives
	you an easy access to the arguments through the <code class="code">#arg...</code>
	methods.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODprotocol"></a>protocol : <code class="type"><a href="Nethttp.html#TYPEprotocol">Nethttp.protocol</a></code></pre><div class="info">
The server protocol in a decoded form.  It can be either<ul>
<li><code class="code">`Http((major,minor),attributes)</code> or</li>
<li><code class="code">`Other</code>.</li>
</ul>
<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODcgi_property"></a>cgi_property : <code class="type">?default:string -> string -> string</code></pre><div class="info">
Returns a (possibly non-standard) CGI environment property.
        If the property is not set, <code class="code">Not_found</code> is be raised unless
        the <code class="code">default</code> argument is passed.  The <code class="code">default</code> argument
        determines the result of the function in this case.
<p>

        The method takes the case-sensitive name and returns the value
        of the property. Usually, these properties have uppercase
        names.
<p>

        For example, <code class="code">cgi_gateway_interface</code> returns the same as <pre><code class="code">        cgi_property ~default:"" "GATEWAY_INTERFACE" </code></pre>
<p>

        You cannot access the fields coming from the HTTP header.  Use
        the method <code class="code">input_header_field</code> instead.<br>
</div>
<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 all properties as an associative list.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODcgi_https"></a>cgi_https : <code class="type">bool</code></pre><div class="info">
A well-known extension is the HTTPS property.  It indicates
        whether a secure connection is used (SSL/TLS).  This method
        interprets this property and returns true if the connection is
        secure.  This method fails if there is a HTTPS property with
        an unknown value.<br>
</div>
<a name="3_HeaderoftheincomingHTTPrequest"></a>
<h3>Header of the incoming HTTP request.</h3><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">
The whole HTTP header.<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><div class="info">
<code class="code">#input_header_field ?default f</code> returns the value of a field
        <code class="code">f</code> of the HTTP request header.  The field name <code class="code">f</code> is
        case-insensitive; if the name is a compound name, the parts
        are separated by "-", e.g. <code class="code">"content-length"</code>.  If there are
        several fields with the same name only the first field will be
        returned.<br>
<b>Raises</b> <code>Not_found</code> if the field does not exist, unless the
        <code class="code">default</code> argument is passed.  The <code class="code">default</code> argument is the
        result of the function in this case.<br>
</div>
<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><div class="info">
Returns the values of all fields with the passed name of the
        request header.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODinput_header_fields"></a>input_header_fields : <code class="type">(string * string) list</code></pre><div class="info">
Returns the input header as (name,value) pairs.  The names may
        consist of lowercase or uppercase letters.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODcookie"></a>cookie : <code class="type">string -> <a href="Netcgi.Cookie.html#TYPEt">Cookie.t</a></code></pre><div class="info">
<code class="code">#cookie cn</code> returns the cookie with name <code class="code">cn</code>.<br>
<b>Raises</b> <code>Not_found</code> if such a cookie does not exists.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODcookies"></a>cookies : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">Cookie.t</a> list</code></pre><div class="info">
Returns the list of valid cookies found in the request header.
        Here "valid" means that the decode function does not raise an
        exception.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODuser_agent"></a>user_agent : <code class="type">string</code></pre><div class="info">
This is a convenience method that returns the <code class="code">"User-agent"</code>
        field of the HTTP request header.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODinput_content_length"></a>input_content_length : <code class="type">int</code></pre><div class="info">
Returns the <code class="code">"Content-length"</code> request header field.<br>
<b>Raises</b> <code>Not_found</code> if it is not set.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODinput_content_type_string"></a>input_content_type_string : <code class="type">string</code></pre><div class="info">
Returns the <code class="code">"Content-type"</code> request header field as a plain
        string or <code class="code">""</code> if it is not set.<br>
</div>
<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><div class="info">
Returns the parsed <code class="code">"Content-type"</code> request header field.<br>
<b>Raises</b> <code>Not_found</code> if it is not set.
        See also <a href="Mimestring.html#VALscan_mime_type_ep"><code class="code">Mimestring.scan_mime_type_ep</code></a>.<br>
</div>
<a name="3_Responseheader"></a>
<h3>Response header</h3><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">
The whole HTTP response header<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><div class="info">
Returns the value of a field of the response header. If the
        field does not exist, <code class="code">Not_found</code> will be raised unless the
        <code class="code">default</code> argument is passed. The <code class="code">default</code> argument determines
        the result of the function in this case.
<p>

        If there are several fields with the same name only the first
        field will be returned.
<p>

        The anonymous string is the name of the field.  The name is
        case-insensitive, and it does not matter whether it consists
        of lowercase or uppercase letters. If the name is a compound
        name, the parts are separated by "-", e.g. <code class="code">"content-length"</code>.<br>
</div>
<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><div class="info">
Returns the values of all fields with the passed name of the
        repsonse header.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODoutput_header_fields"></a>output_header_fields : <code class="type">(string * string) list</code></pre><div class="info">
Returns the output header as (name,value) pairs.  The names may
        consist of lowercase or uppercase letters.<br>
</div>
<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><div class="info">
Sets the value of a field of the response header.  The
        previous value, if any, is overwritten.  If there have been
        multiple values, all values will be removed and replaced by
        the single new value.<br>
</div>
<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><div class="info">
Sets multiple values of a field of the response header.  Any
        previous values are removed and replaced by the new values.<br>
</div>
<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><div class="info">
Sets the complete response header at once.<br>
</div>
<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><div class="info">
Sets the response status.  This is by definition the same as
	setting the <code class="code">Status</code> output header field.<br>
</div>
<pre><span class="keyword">method</span> <a name="METHODsend_output_header"></a>send_output_header : <code class="type">unit -> unit</code></pre><div class="info">
This method will encode and send the output header to the
        output channel.  Note that of the output_channel is
        <code class="code">`Transactionnal</code> (as opposed to <code class="code">`Direct</code>), no output will
        actually take place before you issue <code class="code">#commit_work()</code> -- thus
        a <code class="code">#rollback_work()</code> will also rollback the headers as
        expected.<br>
</div>
<a name="3_Theoutputchanneltransferringtheresponse"></a>
<h3>The output channel transferring the response</h3><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><div class="info">
The "raw" output channel.  In general you should use instead
	<a href="Netcgi.cgi.html"><code class="code">Netcgi.cgi</code></a><code class="code">#out_channnel</code> which supports transactions (if you
	choose to).  Access to the "raw" channel is useful however,
	for example for sending images or download of files (for which
	transactions are not interesting but merely more work).<br>
</div>
<a name="3_Logging"></a>
<h3>Logging</h3><pre><span class="keyword">method</span> <a name="METHODlog_error"></a>log_error : <code class="type">string -> unit</code></pre><div class="info">
<code class="code">#log_error msg</code> appends <code class="code">msg</code> to the webserver log.<br>
</div>
<a name="3_Miscellaneous"></a>
<h3>Miscellaneous</h3><pre><span class="keyword">method</span> <a name="METHODconfig"></a>config : <code class="type"><a href="Netcgi.html#TYPEconfig">config</a></code></pre><div class="info">
The configuration of the request.<br>
</div>
</body></html>