File: Netcgi.Cookie.html

package info (click to toggle)
ocamlnet 2.2.9-8
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 17,724 kB
  • ctags: 10,053
  • sloc: ml: 63,928; ansic: 1,973; makefile: 800; sh: 651
file content (246 lines) | stat: -rw-r--r-- 17,056 bytes parent folder | download | duplicates (2)
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>
&nbsp;<a href="Netcgi.html">Up</a>
&nbsp;</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 &lt;= 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>