blob: 3a1e38b5d0a9ef8453863a20ebb26376e08f961f [file] [log] [blame]
John Asmuth614db982014-04-24 15:46:26 -04001<?xml version="1.0" encoding="ascii"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6 <title>googleapiclient.http.HttpRequest</title>
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
8 <script type="text/javascript" src="epydoc.js"></script>
9</head>
10
11<body bgcolor="white" text="black" link="blue" vlink="#204080"
12 alink="#204080">
13<!-- ==================== NAVIGATION BAR ==================== -->
14<table class="navbar" border="0" width="100%" cellpadding="0"
15 bgcolor="#a0c0ff" cellspacing="0">
16 <tr valign="middle">
17 <!-- Home link -->
18 <th>&nbsp;&nbsp;&nbsp;<a
19 href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
20
21 <!-- Tree link -->
22 <th>&nbsp;&nbsp;&nbsp;<a
23 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
24
25 <!-- Index link -->
26 <th>&nbsp;&nbsp;&nbsp;<a
27 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
28
29 <!-- Help link -->
30 <th>&nbsp;&nbsp;&nbsp;<a
31 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
32
33 <th class="navbar" width="100%"></th>
34 </tr>
35</table>
36<table width="100%" cellpadding="0" cellspacing="0">
37 <tr valign="top">
38 <td width="100%">
39 <span class="breadcrumbs">
40 <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
41 <a href="googleapiclient.http-module.html">Module&nbsp;http</a> ::
42 Class&nbsp;HttpRequest
43 </span>
44 </td>
45 <td>
46 <table cellpadding="0" cellspacing="0">
47 <!-- hide/show private -->
48 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
49 onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
50 <tr><td align="right"><span class="options"
51 >[<a href="frames.html" target="_top">frames</a
52 >]&nbsp;|&nbsp;<a href="googleapiclient.http.HttpRequest-class.html"
53 target="_top">no&nbsp;frames</a>]</span></td></tr>
54 </table>
55 </td>
56 </tr>
57</table>
58<!-- ==================== CLASS DESCRIPTION ==================== -->
59<h1 class="epydoc">Class HttpRequest</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest">source&nbsp;code</a></span></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070060<pre class="base-tree">
61object --+
62 |
63 <strong class="uidshort">HttpRequest</strong>
John Asmuth614db982014-04-24 15:46:26 -040064</pre>
65
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070066<hr />
67<p>Encapsulates a single HTTP request.</p>
68
John Asmuth614db982014-04-24 15:46:26 -040069<!-- ==================== INSTANCE METHODS ==================== -->
70<a name="section-InstanceMethods"></a>
71<table class="summary" border="1" cellpadding="3"
72 cellspacing="0" width="100%" bgcolor="white">
73<tr bgcolor="#70b0f0" class="table-header">
74 <td colspan="2" class="table-header">
75 <table border="0" cellpadding="0" cellspacing="0" width="100%">
76 <tr valign="top">
77 <td align="left"><span class="table-header">Instance Methods</span></td>
78 <td align="right" valign="top"
79 ><span class="options">[<a href="#section-InstanceMethods"
80 class="privatelink" onclick="toggle_private();"
81 >hide private</a>]</span></td>
82 </tr>
83 </table>
84 </td>
85</tr>
86<tr>
87 <td width="15%" align="right" valign="top" class="summary">
88 <span class="summary-type">&nbsp;</span>
89 </td><td class="summary">
90 <table width="100%" cellpadding="0" cellspacing="0" border="0">
91 <tr>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -070092 <td><span class="summary-sig"><a href="googleapiclient.http.HttpRequest-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">*args</span>,
93 <span class="summary-sig-arg">**kwargs</span>)</span><br />
John Asmuth614db982014-04-24 15:46:26 -040094 Constructor for an HttpRequest.</td>
95 <td align="right" valign="top">
96 <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.__init__">source&nbsp;code</a></span>
97
98 </td>
99 </tr>
100 </table>
101
102 </td>
103 </tr>
104<tr>
105 <td width="15%" align="right" valign="top" class="summary">
106 <span class="summary-type">&nbsp;</span>
107 </td><td class="summary">
108 <table width="100%" cellpadding="0" cellspacing="0" border="0">
109 <tr>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700110 <td><span class="summary-sig"><a href="googleapiclient.http.HttpRequest-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">*args</span>,
111 <span class="summary-sig-arg">**kwargs</span>)</span><br />
John Asmuth614db982014-04-24 15:46:26 -0400112 Execute the request.</td>
113 <td align="right" valign="top">
114 <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.execute">source&nbsp;code</a></span>
115
116 </td>
117 </tr>
118 </table>
119
120 </td>
121 </tr>
122<tr>
123 <td width="15%" align="right" valign="top" class="summary">
124 <span class="summary-type">&nbsp;</span>
125 </td><td class="summary">
126 <table width="100%" cellpadding="0" cellspacing="0" border="0">
127 <tr>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700128 <td><span class="summary-sig"><a href="googleapiclient.http.HttpRequest-class.html#add_response_callback" class="summary-sig-name">add_response_callback</a>(<span class="summary-sig-arg">*args</span>,
129 <span class="summary-sig-arg">**kwargs</span>)</span><br />
John Asmuth614db982014-04-24 15:46:26 -0400130 add_response_headers_callback</td>
131 <td align="right" valign="top">
132 <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.add_response_callback">source&nbsp;code</a></span>
133
134 </td>
135 </tr>
136 </table>
137
138 </td>
139 </tr>
140<tr>
141 <td width="15%" align="right" valign="top" class="summary">
142 <span class="summary-type">&nbsp;</span>
143 </td><td class="summary">
144 <table width="100%" cellpadding="0" cellspacing="0" border="0">
145 <tr>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700146 <td><span class="summary-sig"><a href="googleapiclient.http.HttpRequest-class.html#next_chunk" class="summary-sig-name">next_chunk</a>(<span class="summary-sig-arg">*args</span>,
147 <span class="summary-sig-arg">**kwargs</span>)</span><br />
John Asmuth614db982014-04-24 15:46:26 -0400148 Execute the next step of a resumable upload.</td>
149 <td align="right" valign="top">
150 <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.next_chunk">source&nbsp;code</a></span>
151
152 </td>
153 </tr>
154 </table>
155
156 </td>
157 </tr>
158<tr class="private">
159 <td width="15%" align="right" valign="top" class="summary">
160 <span class="summary-type">&nbsp;</span>
161 </td><td class="summary">
162 <table width="100%" cellpadding="0" cellspacing="0" border="0">
163 <tr>
164 <td><span class="summary-sig"><a href="googleapiclient.http.HttpRequest-class.html#_process_response" class="summary-sig-name" onclick="show_private();">_process_response</a>(<span class="summary-sig-arg">self</span>,
165 <span class="summary-sig-arg">resp</span>,
166 <span class="summary-sig-arg">content</span>)</span><br />
167 Process the response from a single chunk upload.</td>
168 <td align="right" valign="top">
169 <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest._process_response">source&nbsp;code</a></span>
170
171 </td>
172 </tr>
173 </table>
174
175 </td>
176 </tr>
177<tr>
178 <td width="15%" align="right" valign="top" class="summary">
179 <span class="summary-type">&nbsp;</span>
180 </td><td class="summary">
181 <table width="100%" cellpadding="0" cellspacing="0" border="0">
182 <tr>
183 <td><span class="summary-sig"><a name="to_json"></a><span class="summary-sig-name">to_json</span>(<span class="summary-sig-arg">self</span>)</span><br />
184 Returns a JSON representation of the HttpRequest.</td>
185 <td align="right" valign="top">
186 <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.to_json">source&nbsp;code</a></span>
187
188 </td>
189 </tr>
190 </table>
191
192 </td>
193 </tr>
194 <tr>
195 <td colspan="2" class="summary">
196 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
197 <code>__delattr__</code>,
198 <code>__format__</code>,
199 <code>__getattribute__</code>,
200 <code>__hash__</code>,
201 <code>__new__</code>,
202 <code>__reduce__</code>,
203 <code>__reduce_ex__</code>,
204 <code>__repr__</code>,
205 <code>__setattr__</code>,
206 <code>__sizeof__</code>,
207 <code>__str__</code>,
208 <code>__subclasshook__</code>
209 </p>
210 </td>
211 </tr>
212</table>
213<!-- ==================== STATIC METHODS ==================== -->
214<a name="section-StaticMethods"></a>
215<table class="summary" border="1" cellpadding="3"
216 cellspacing="0" width="100%" bgcolor="white">
217<tr bgcolor="#70b0f0" class="table-header">
218 <td colspan="2" class="table-header">
219 <table border="0" cellpadding="0" cellspacing="0" width="100%">
220 <tr valign="top">
221 <td align="left"><span class="table-header">Static Methods</span></td>
222 <td align="right" valign="top"
223 ><span class="options">[<a href="#section-StaticMethods"
224 class="privatelink" onclick="toggle_private();"
225 >hide private</a>]</span></td>
226 </tr>
227 </table>
228 </td>
229</tr>
230<tr>
231 <td width="15%" align="right" valign="top" class="summary">
232 <span class="summary-type">&nbsp;</span>
233 </td><td class="summary">
234 <table width="100%" cellpadding="0" cellspacing="0" border="0">
235 <tr>
236 <td><span class="summary-sig"><a name="from_json"></a><span class="summary-sig-name">from_json</span>(<span class="summary-sig-arg">s</span>,
237 <span class="summary-sig-arg">http</span>,
238 <span class="summary-sig-arg">postproc</span>)</span><br />
239 Returns an HttpRequest populated with info from a JSON object.</td>
240 <td align="right" valign="top">
241 <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.from_json">source&nbsp;code</a></span>
242
243 </td>
244 </tr>
245 </table>
246
247 </td>
248 </tr>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700249<tr>
250 <td width="15%" align="right" valign="top" class="summary">
251 <span class="summary-type">&nbsp;</span>
252 </td><td class="summary">
253 <table width="100%" cellpadding="0" cellspacing="0" border="0">
254 <tr>
255 <td><span class="summary-sig"><a name="null_postproc"></a><span class="summary-sig-name">null_postproc</span>(<span class="summary-sig-arg">resp</span>,
256 <span class="summary-sig-arg">contents</span>)</span></td>
257 <td align="right" valign="top">
258 <span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.null_postproc">source&nbsp;code</a></span>
259
260 </td>
261 </tr>
262 </table>
263
264 </td>
265 </tr>
John Asmuth614db982014-04-24 15:46:26 -0400266</table>
267<!-- ==================== PROPERTIES ==================== -->
268<a name="section-Properties"></a>
269<table class="summary" border="1" cellpadding="3"
270 cellspacing="0" width="100%" bgcolor="white">
271<tr bgcolor="#70b0f0" class="table-header">
272 <td colspan="2" class="table-header">
273 <table border="0" cellpadding="0" cellspacing="0" width="100%">
274 <tr valign="top">
275 <td align="left"><span class="table-header">Properties</span></td>
276 <td align="right" valign="top"
277 ><span class="options">[<a href="#section-Properties"
278 class="privatelink" onclick="toggle_private();"
279 >hide private</a>]</span></td>
280 </tr>
281 </table>
282 </td>
283</tr>
284 <tr>
285 <td colspan="2" class="summary">
286 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
287 <code>__class__</code>
288 </p>
289 </td>
290 </tr>
291</table>
292<!-- ==================== METHOD DETAILS ==================== -->
293<a name="section-MethodDetails"></a>
294<table class="details" border="1" cellpadding="3"
295 cellspacing="0" width="100%" bgcolor="white">
296<tr bgcolor="#70b0f0" class="table-header">
297 <td colspan="2" class="table-header">
298 <table border="0" cellpadding="0" cellspacing="0" width="100%">
299 <tr valign="top">
300 <td align="left"><span class="table-header">Method Details</span></td>
301 <td align="right" valign="top"
302 ><span class="options">[<a href="#section-MethodDetails"
303 class="privatelink" onclick="toggle_private();"
304 >hide private</a>]</span></td>
305 </tr>
306 </table>
307 </td>
308</tr>
309</table>
310<a name="__init__"></a>
311<div>
312<table class="details" border="1" cellpadding="3"
313 cellspacing="0" width="100%" bgcolor="white">
314<tr><td>
315 <table width="100%" cellpadding="0" cellspacing="0" border="0">
316 <tr valign="top"><td>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700317 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">*args</span>,
318 <span class="sig-arg">**kwargs</span>)</span>
John Asmuth614db982014-04-24 15:46:26 -0400319 <br /><em class="fname">(Constructor)</em>
320 </h3>
321 </td><td align="right" valign="top"
322 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.__init__">source&nbsp;code</a></span>&nbsp;
323 </td>
324 </tr></table>
325
326 <pre class="literalblock">
327Constructor for an HttpRequest.
328
329Args:
330 http: httplib2.Http, the transport object to use to make a request
331 postproc: callable, called on the HTTP response and content to transform
332 it into a data object before returning, or raising an exception
333 on an error.
334 uri: string, the absolute URI to send the request to
335 method: string, the HTTP method to use
336 body: string, the request body of the HTTP request,
337 headers: dict, the HTTP request headers
338 methodId: string, a unique identifier for the API method being called.
339 resumable: MediaUpload, None if this is not a resumbale request.
340
341</pre>
342 <dl class="fields">
343 <dt>Decorators:</dt>
344 <dd><ul class="nomargin-top">
345 <li><code>@util.positional(4)</code></li>
346 </ul></dd>
347 <dt>Overrides:
348 object.__init__
349 </dt>
350 </dl>
351</td></tr></table>
352</div>
353<a name="execute"></a>
354<div>
355<table class="details" border="1" cellpadding="3"
356 cellspacing="0" width="100%" bgcolor="white">
357<tr><td>
358 <table width="100%" cellpadding="0" cellspacing="0" border="0">
359 <tr valign="top"><td>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700360 <h3 class="epydoc"><span class="sig"><span class="sig-name">execute</span>(<span class="sig-arg">*args</span>,
361 <span class="sig-arg">**kwargs</span>)</span>
John Asmuth614db982014-04-24 15:46:26 -0400362 </h3>
363 </td><td align="right" valign="top"
364 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.execute">source&nbsp;code</a></span>&nbsp;
365 </td>
366 </tr></table>
367
368 <pre class="literalblock">
369Execute the request.
370
371Args:
372 http: httplib2.Http, an http object to be used in place of the
373 one the HttpRequest request object was constructed with.
Jon Wayne Parrott7d5badb2016-08-16 12:44:29 -0700374 num_retries: Integer, number of times to retry with randomized
John Asmuth614db982014-04-24 15:46:26 -0400375 exponential backoff. If all retries fail, the raised HttpError
376 represents the last request. If zero (default), we attempt the
377 request only once.
378
379Returns:
380 A deserialized object model of the response body as determined
381 by the postproc.
382
383Raises:
384 googleapiclient.errors.HttpError if the response was not a 2xx.
Dan O'Mearadd494642020-05-01 07:42:23 -0700385 httplib2.HttpLib2Error if a transport error has occurred.
John Asmuth614db982014-04-24 15:46:26 -0400386
387</pre>
388 <dl class="fields">
389 <dt>Decorators:</dt>
390 <dd><ul class="nomargin-top">
391 <li><code>@util.positional(1)</code></li>
392 </ul></dd>
393 </dl>
394</td></tr></table>
395</div>
396<a name="add_response_callback"></a>
397<div>
398<table class="details" border="1" cellpadding="3"
399 cellspacing="0" width="100%" bgcolor="white">
400<tr><td>
401 <table width="100%" cellpadding="0" cellspacing="0" border="0">
402 <tr valign="top"><td>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700403 <h3 class="epydoc"><span class="sig"><span class="sig-name">add_response_callback</span>(<span class="sig-arg">*args</span>,
404 <span class="sig-arg">**kwargs</span>)</span>
John Asmuth614db982014-04-24 15:46:26 -0400405 </h3>
406 </td><td align="right" valign="top"
407 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.add_response_callback">source&nbsp;code</a></span>&nbsp;
408 </td>
409 </tr></table>
410
411 <pre class="literalblock">
412add_response_headers_callback
413
414Args:
415 cb: Callback to be called on receiving the response headers, of signature:
416
417 def cb(resp):
418 # Where resp is an instance of httplib2.Response
419
420</pre>
421 <dl class="fields">
422 <dt>Decorators:</dt>
423 <dd><ul class="nomargin-top">
424 <li><code>@util.positional(2)</code></li>
425 </ul></dd>
426 </dl>
427</td></tr></table>
428</div>
429<a name="next_chunk"></a>
430<div>
431<table class="details" border="1" cellpadding="3"
432 cellspacing="0" width="100%" bgcolor="white">
433<tr><td>
434 <table width="100%" cellpadding="0" cellspacing="0" border="0">
435 <tr valign="top"><td>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700436 <h3 class="epydoc"><span class="sig"><span class="sig-name">next_chunk</span>(<span class="sig-arg">*args</span>,
437 <span class="sig-arg">**kwargs</span>)</span>
John Asmuth614db982014-04-24 15:46:26 -0400438 </h3>
439 </td><td align="right" valign="top"
440 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest.next_chunk">source&nbsp;code</a></span>&nbsp;
441 </td>
442 </tr></table>
443
444 <pre class="literalblock">
445Execute the next step of a resumable upload.
446
447Can only be used if the method being executed supports media uploads and
448the MediaUpload object passed in was flagged as using resumable upload.
449
450Example:
451
452 media = MediaFileUpload('cow.png', mimetype='image/png',
453 chunksize=1000, resumable=True)
454 request = farm.animals().insert(
455 id='cow',
456 name='cow.png',
457 media_body=media)
458
459 response = None
460 while response is None:
461 status, response = request.next_chunk()
462 if status:
463 print &quot;Upload %d%% complete.&quot; % int(status.progress() * 100)
464
465
466Args:
467 http: httplib2.Http, an http object to be used in place of the
468 one the HttpRequest request object was constructed with.
Jon Wayne Parrott7d5badb2016-08-16 12:44:29 -0700469 num_retries: Integer, number of times to retry with randomized
John Asmuth614db982014-04-24 15:46:26 -0400470 exponential backoff. If all retries fail, the raised HttpError
471 represents the last request. If zero (default), we attempt the
472 request only once.
473
474Returns:
475 (status, body): (ResumableMediaStatus, object)
476 The body will be None until the resumable media is fully uploaded.
477
478Raises:
479 googleapiclient.errors.HttpError if the response was not a 2xx.
Dan O'Mearadd494642020-05-01 07:42:23 -0700480 httplib2.HttpLib2Error if a transport error has occurred.
John Asmuth614db982014-04-24 15:46:26 -0400481
482</pre>
483 <dl class="fields">
484 <dt>Decorators:</dt>
485 <dd><ul class="nomargin-top">
486 <li><code>@util.positional(1)</code></li>
487 </ul></dd>
488 </dl>
489</td></tr></table>
490</div>
491<a name="_process_response"></a>
492<div class="private">
493<table class="details" border="1" cellpadding="3"
494 cellspacing="0" width="100%" bgcolor="white">
495<tr><td>
496 <table width="100%" cellpadding="0" cellspacing="0" border="0">
497 <tr valign="top"><td>
498 <h3 class="epydoc"><span class="sig"><span class="sig-name">_process_response</span>(<span class="sig-arg">self</span>,
499 <span class="sig-arg">resp</span>,
500 <span class="sig-arg">content</span>)</span>
501 </h3>
502 </td><td align="right" valign="top"
503 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#HttpRequest._process_response">source&nbsp;code</a></span>&nbsp;
504 </td>
505 </tr></table>
506
507 <pre class="literalblock">
508Process the response from a single chunk upload.
509
510Args:
511 resp: httplib2.Response, the response object.
512 content: string, the content of the response.
513
514Returns:
515 (status, body): (ResumableMediaStatus, object)
516 The body will be None until the resumable media is fully uploaded.
517
518Raises:
519 googleapiclient.errors.HttpError if the response was not a 2xx or a 308.
520
521</pre>
522 <dl class="fields">
523 </dl>
524</td></tr></table>
525</div>
526<br />
527<!-- ==================== NAVIGATION BAR ==================== -->
528<table class="navbar" border="0" width="100%" cellpadding="0"
529 bgcolor="#a0c0ff" cellspacing="0">
530 <tr valign="middle">
531 <!-- Home link -->
532 <th>&nbsp;&nbsp;&nbsp;<a
533 href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
534
535 <!-- Tree link -->
536 <th>&nbsp;&nbsp;&nbsp;<a
537 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
538
539 <!-- Index link -->
540 <th>&nbsp;&nbsp;&nbsp;<a
541 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
542
543 <!-- Help link -->
544 <th>&nbsp;&nbsp;&nbsp;<a
545 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
546
547 <th class="navbar" width="100%"></th>
548 </tr>
549</table>
550<table border="0" cellpadding="0" cellspacing="0" width="100%%">
551 <tr>
552 <td align="left" class="footer">
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700553 Generated by Epydoc 3.0.1 on Fri Oct 2 20:46:22 2020
John Asmuth614db982014-04-24 15:46:26 -0400554 </td>
555 <td align="right" class="footer">
556 <a target="mainFrame" href="http://epydoc.sourceforge.net"
557 >http://epydoc.sourceforge.net</a>
558 </td>
559 </tr>
560</table>
561
562<script type="text/javascript">
563 <!--
564 // Private objects are initially displayed (because if
565 // javascript is turned off then we want them to be
566 // visible); but by default, we want to hide them. So hide
567 // them unless we have a cookie that says to show them.
568 checkCookie();
569 // -->
570</script>
571</body>
572</html>