1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
|
<!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.Argument.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"><title>Ocamlnet 2 Reference Manual : Netcgi.Cookie</title>
</head>
<body>
<div class="navbar"><a href="Netcgi.Argument.html">Previous</a>
<a href="Netcgi.html">Up</a>
</div>
<center><h1>Module <a href="type_Netcgi.Cookie.html">Netcgi.Cookie</a></h1></center>
<br>
<pre><span class="keyword">module</span> Cookie: <code class="code">sig</code> <a href="Netcgi.Cookie.html">..</a> <code class="code">end</code></pre>Functions to manipulate cookies.
<p>
You should know that besides the <code class="code">name</code> and <code class="code">value</code> attribute,
user agents will send at most the <code class="code">path</code>, <code class="code">domain</code> and <code class="code">port</code> and
usually will not send them at all.
<p>
For interoperability, cookies are set using version 0 (by
Netscape) unless version 1 (RFC 2965 and the older RFC 2109)
fields are set. While version 0 is well supported by browsers,
RFC 2109 requires a recent browser and RFC 2965 is usually not
supported. You do not have to worry however, cookies are always
sent in such a way older browsers understand them -- albeit not
all attributes of course -- so your application can be ready for
the time RFC 2965 will be the norm.<br>
<hr width="100%">
<pre><span class="keyword">type</span> <a name="TYPEt"></a><code class="type"></code>t = <code class="type"><a href="Netcgi_common.Cookie.html#TYPEt">Netcgi_common.Cookie.t</a></code> </pre>
<div class="info">
Mutable cookie type.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALmake"></a>make : <code class="type">?max_age:int -><br> ?domain:string -><br> ?path:string -><br> ?secure:bool -><br> ?comment:string -><br> ?comment_url:string -> ?ports:int list -> string -> string -> <a href="Netcgi.Cookie.html#TYPEt">t</a></code></pre><div class="info">
<code class="code">make ?expires ?domain ?path ?secure name value</code> creates a new
cookie with name <code class="code">name</code> holding <code class="code">value</code>.<br>
</div>
<div class="param_info"><code class="code">max_age</code> : see <a href="Netcgi.Cookie.html#VALset_max_age"><code class="code">Netcgi.Cookie.set_max_age</code></a>.
Default: when user agent exits.</div>
<div class="param_info"><code class="code">domain</code> : see <a href="Netcgi.Cookie.html#VALset_domain"><code class="code">Netcgi.Cookie.set_domain</code></a>.
Default: hostname of the server.</div>
<div class="param_info"><code class="code">path</code> : see <a href="Netcgi.Cookie.html#VALset_path"><code class="code">Netcgi.Cookie.set_path</code></a>.
Default: script name + path_info.</div>
<div class="param_info"><code class="code">secure</code> : see <a href="Netcgi.Cookie.html#VALset_secure"><code class="code">Netcgi.Cookie.set_secure</code></a>. Default: <code class="code">false</code>.</div>
<div class="param_info"><code class="code">comment</code> : see <a href="Netcgi.Cookie.html#VALset_comment"><code class="code">Netcgi.Cookie.set_comment</code></a>. Default: <code class="code">""</code>.</div>
<div class="param_info"><code class="code">comment_url</code> : see <a href="Netcgi.Cookie.html#VALset_comment_url"><code class="code">Netcgi.Cookie.set_comment_url</code></a>.
Default: <code class="code">""</code>.</div>
<div class="param_info"><code class="code">ports</code> : see <a href="Netcgi.Cookie.html#VALset_ports"><code class="code">Netcgi.Cookie.set_ports</code></a>.
Default: same port the cookie was sent.</div>
<pre><span class="keyword">val</span> <a name="VALname"></a>name : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">t</a> -> string</code></pre><div class="info">
The name of the cookie.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALvalue"></a>value : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">t</a> -> string</code></pre><div class="info">
The value of the cookie.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALdomain"></a>domain : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">t</a> -> string option</code></pre><div class="info">
The domain of the cookie, if set.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALpath"></a>path : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">t</a> -> string option</code></pre><div class="info">
The path of the cookie, if set.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALports"></a>ports : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">t</a> -> int list option</code></pre><div class="info">
<code class="code">port c</code> the ports to which the cookie may be returned or <code class="code">[]</code> if
not set.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_value"></a>set_value : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">t</a> -> string -> unit</code></pre><div class="info">
<code class="code">set_value c v</code> sets the value of the cookie <code class="code">c</code> to <code class="code">v</code>.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_max_age"></a>set_max_age : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">t</a> -> int option -> unit</code></pre><div class="info">
<code class="code">set_max_age c (Some t)</code> sets the lifetime of the cookie <code class="code">c</code>
to <code class="code">t</code> seconds. If <code class="code">t <= 0</code>, it means that the cookie should
be discarded immediately. <code class="code">set_expires c None</code> tells the
cookie to be discarded when the user agent exits. (Despite
the fact that the name is borrowed from the version 1 of the
specification, it works transparently with version 0.)<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_domain"></a>set_domain : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">t</a> -> string option -> unit</code></pre><div class="info">
Cookies are bound to a certain domain, i.e. the browser sends
them only when web pages of the domain are requested:<ul>
<li><code class="code">None</code>: the domain is the hostname of the server.</li>
<li><code class="code">Some domain</code>: the domain is <code class="code">domain</code>.</li>
</ul>
<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_path"></a>set_path : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">t</a> -> string option -> unit</code></pre><div class="info">
Cookies are also bound to certain path prefixes, i.e. the
browser sends them only when web pages at the path or below are
requested.<ul>
<li><code class="code">None</code>: the path is script name + path_info</li>
<li><code class="code">Some p</code>: the path is <code class="code">p</code>. With <code class="code">Some "/"</code> you can disable the
path restriction completely.</li>
</ul>
<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_secure"></a>set_secure : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">t</a> -> bool -> unit</code></pre><div class="info">
Cookies are also bound to the type of the web server:
<code class="code">set_secure false</code> means servers without SSL, <code class="code">set_secure
true</code> means servers with activated SSL ("https").<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_comment"></a>set_comment : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">t</a> -> string -> unit</code></pre><div class="info">
<code class="code">set_comment c s</code> sets the comment of the cookie <code class="code">c</code> to <code class="code">s</code>
which must be UTF-8 encoded (RFC 2279). Because cookies can
store personal information, the comment should describe how
the cookie will be used so the client can decide whether to
allow the cookie or not. To cancel a comment, set it to <code class="code">""</code>.
<p>
Cookie version 1 (RFC 2109).<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_comment_url"></a>set_comment_url : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">t</a> -> string -> unit</code></pre><div class="info">
<code class="code">set_comment_url c url</code> same as <a href="Netcgi.Cookie.html#VALset_comment"><code class="code">Netcgi.Cookie.set_comment</code></a>
except that the cookie comment is available on the page
pointed by <code class="code">url</code>. To cancel, set it to <code class="code">""</code>.
<p>
Cookie version 1 (RFC 2965).<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset_ports"></a>set_ports : <code class="type"><a href="Netcgi.Cookie.html#TYPEt">t</a> -> int list option -> unit</code></pre><div class="info">
<code class="code">set ports c (Some p)</code> says that the cookie <code class="code">c</code> must only be
returned if the server request comes from one of the listed
ports. If <code class="code">p = []</code>, the cookie will only be sent to the
request-port it was received from. <code class="code">set_ports c None</code> says
that the cookie may be sent to any port.
<p>
Cookie version 1 (RFC 2965).<br>
</div>
</body></html>
|