blob: 4cd797eda1e451538dde96471663c0bdb1a306ab [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</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 Module&nbsp;http
42 </span>
43 </td>
44 <td>
45 <table cellpadding="0" cellspacing="0">
46 <!-- hide/show private -->
47 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
48 onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
49 <tr><td align="right"><span class="options"
50 >[<a href="frames.html" target="_top">frames</a
51 >]&nbsp;|&nbsp;<a href="googleapiclient.http-module.html"
52 target="_top">no&nbsp;frames</a>]</span></td></tr>
53 </table>
54 </td>
55 </tr>
56</table>
57<!-- ==================== MODULE DESCRIPTION ==================== -->
58<h1 class="epydoc">Module http</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.http-pysrc.html">source&nbsp;code</a></span></p>
59<pre class="literalblock">
60Classes to encapsulate a single HTTP request.
61
62The classes implement a command pattern, with every
63object supporting an execute() method that does the
64actuall HTTP request.
65
66</pre>
67
68<hr />
69<div class="fields"> <p><strong>Author:</strong>
70 jcgregorio@google.com (Joe Gregorio)
71 </p>
72</div><!-- ==================== CLASSES ==================== -->
73<a name="section-Classes"></a>
74<table class="summary" border="1" cellpadding="3"
75 cellspacing="0" width="100%" bgcolor="white">
76<tr bgcolor="#70b0f0" class="table-header">
77 <td colspan="2" class="table-header">
78 <table border="0" cellpadding="0" cellspacing="0" width="100%">
79 <tr valign="top">
80 <td align="left"><span class="table-header">Classes</span></td>
81 <td align="right" valign="top"
82 ><span class="options">[<a href="#section-Classes"
83 class="privatelink" onclick="toggle_private();"
84 >hide private</a>]</span></td>
85 </tr>
86 </table>
87 </td>
88</tr>
89<tr>
90 <td width="15%" align="right" valign="top" class="summary">
91 <span class="summary-type">&nbsp;</span>
92 </td><td class="summary">
93 <a href="googleapiclient.http.MediaUploadProgress-class.html" class="summary-name">MediaUploadProgress</a><br />
94 Status of a resumable upload.
95 </td>
96 </tr>
97<tr>
98 <td width="15%" align="right" valign="top" class="summary">
99 <span class="summary-type">&nbsp;</span>
100 </td><td class="summary">
101 <a href="googleapiclient.http.MediaDownloadProgress-class.html" class="summary-name">MediaDownloadProgress</a><br />
102 Status of a resumable download.
103 </td>
104 </tr>
105<tr>
106 <td width="15%" align="right" valign="top" class="summary">
107 <span class="summary-type">&nbsp;</span>
108 </td><td class="summary">
109 <a href="googleapiclient.http.MediaUpload-class.html" class="summary-name">MediaUpload</a><br />
110 Describes a media object to upload.
111 </td>
112 </tr>
113<tr>
114 <td width="15%" align="right" valign="top" class="summary">
115 <span class="summary-type">&nbsp;</span>
116 </td><td class="summary">
117 <a href="googleapiclient.http.MediaIoBaseUpload-class.html" class="summary-name">MediaIoBaseUpload</a><br />
118 A MediaUpload for a io.Base objects.
119 </td>
120 </tr>
121<tr>
122 <td width="15%" align="right" valign="top" class="summary">
123 <span class="summary-type">&nbsp;</span>
124 </td><td class="summary">
125 <a href="googleapiclient.http.MediaFileUpload-class.html" class="summary-name">MediaFileUpload</a><br />
126 A MediaUpload for a file.
127 </td>
128 </tr>
129<tr>
130 <td width="15%" align="right" valign="top" class="summary">
131 <span class="summary-type">&nbsp;</span>
132 </td><td class="summary">
133 <a href="googleapiclient.http.MediaInMemoryUpload-class.html" class="summary-name">MediaInMemoryUpload</a><br />
134 MediaUpload for a chunk of bytes.
135 </td>
136 </tr>
137<tr>
138 <td width="15%" align="right" valign="top" class="summary">
139 <span class="summary-type">&nbsp;</span>
140 </td><td class="summary">
141 <a href="googleapiclient.http.MediaIoBaseDownload-class.html" class="summary-name">MediaIoBaseDownload</a><br />
142 &quot;Download media resources.
143 </td>
144 </tr>
145<tr class="private">
146 <td width="15%" align="right" valign="top" class="summary">
147 <span class="summary-type">&nbsp;</span>
148 </td><td class="summary">
149 <a href="googleapiclient.http._StreamSlice-class.html" class="summary-name" onclick="show_private();">_StreamSlice</a><br />
150 Truncated stream.
151 </td>
152 </tr>
153<tr>
154 <td width="15%" align="right" valign="top" class="summary">
155 <span class="summary-type">&nbsp;</span>
156 </td><td class="summary">
157 <a href="googleapiclient.http.HttpRequest-class.html" class="summary-name">HttpRequest</a><br />
158 Encapsulates a single HTTP request.
159 </td>
160 </tr>
161<tr>
162 <td width="15%" align="right" valign="top" class="summary">
163 <span class="summary-type">&nbsp;</span>
164 </td><td class="summary">
165 <a href="googleapiclient.http.BatchHttpRequest-class.html" class="summary-name">BatchHttpRequest</a><br />
166 Batches multiple HttpRequest objects into a single HTTP request.
167 </td>
168 </tr>
169<tr>
170 <td width="15%" align="right" valign="top" class="summary">
171 <span class="summary-type">&nbsp;</span>
172 </td><td class="summary">
173 <a href="googleapiclient.http.HttpRequestMock-class.html" class="summary-name">HttpRequestMock</a><br />
174 Mock of HttpRequest.
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 <a href="googleapiclient.http.RequestMockBuilder-class.html" class="summary-name">RequestMockBuilder</a><br />
182 A simple mock of HttpRequest
183 </td>
184 </tr>
185<tr>
186 <td width="15%" align="right" valign="top" class="summary">
187 <span class="summary-type">&nbsp;</span>
188 </td><td class="summary">
189 <a href="googleapiclient.http.HttpMock-class.html" class="summary-name">HttpMock</a><br />
190 Mock of httplib2.Http
191 </td>
192 </tr>
193<tr>
194 <td width="15%" align="right" valign="top" class="summary">
195 <span class="summary-type">&nbsp;</span>
196 </td><td class="summary">
197 <a href="googleapiclient.http.HttpMockSequence-class.html" class="summary-name">HttpMockSequence</a><br />
198 Mock of httplib2.Http
199 </td>
200 </tr>
201</table>
202<!-- ==================== FUNCTIONS ==================== -->
203<a name="section-Functions"></a>
204<table class="summary" border="1" cellpadding="3"
205 cellspacing="0" width="100%" bgcolor="white">
206<tr bgcolor="#70b0f0" class="table-header">
207 <td colspan="2" class="table-header">
208 <table border="0" cellpadding="0" cellspacing="0" width="100%">
209 <tr valign="top">
210 <td align="left"><span class="table-header">Functions</span></td>
211 <td align="right" valign="top"
212 ><span class="options">[<a href="#section-Functions"
213 class="privatelink" onclick="toggle_private();"
214 >hide private</a>]</span></td>
215 </tr>
216 </table>
217 </td>
218</tr>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800219<tr class="private">
220 <td width="15%" align="right" valign="top" class="summary">
221 <span class="summary-type">&nbsp;</span>
222 </td><td class="summary">
223 <table width="100%" cellpadding="0" cellspacing="0" border="0">
224 <tr>
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700225 <td><span class="summary-sig"><a href="googleapiclient.http-module.html#_should_retry_response" class="summary-sig-name" onclick="show_private();">_should_retry_response</a>(<span class="summary-sig-arg">resp_status</span>,
226 <span class="summary-sig-arg">content</span>)</span><br />
227 Determines whether a response should be retried.</td>
228 <td align="right" valign="top">
229 <span class="codelink"><a href="googleapiclient.http-pysrc.html#_should_retry_response">source&nbsp;code</a></span>
230
231 </td>
232 </tr>
233 </table>
234
235 </td>
236 </tr>
237<tr class="private">
238 <td width="15%" align="right" valign="top" class="summary">
239 <span class="summary-type">&nbsp;</span>
240 </td><td class="summary">
241 <table width="100%" cellpadding="0" cellspacing="0" border="0">
242 <tr>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800243 <td><span class="summary-sig"><a href="googleapiclient.http-module.html#_retry_request" class="summary-sig-name" onclick="show_private();">_retry_request</a>(<span class="summary-sig-arg">http</span>,
244 <span class="summary-sig-arg">num_retries</span>,
245 <span class="summary-sig-arg">req_type</span>,
246 <span class="summary-sig-arg">sleep</span>,
247 <span class="summary-sig-arg">rand</span>,
248 <span class="summary-sig-arg">uri</span>,
249 <span class="summary-sig-arg">method</span>,
250 <span class="summary-sig-arg">*args</span>,
251 <span class="summary-sig-arg">**kwargs</span>)</span><br />
252 Retries an HTTP request multiple times while handling errors.</td>
253 <td align="right" valign="top">
254 <span class="codelink"><a href="googleapiclient.http-pysrc.html#_retry_request">source&nbsp;code</a></span>
255
256 </td>
257 </tr>
258 </table>
259
260 </td>
261 </tr>
John Asmuth614db982014-04-24 15:46:26 -0400262<tr>
263 <td width="15%" align="right" valign="top" class="summary">
264 <span class="summary-type">&nbsp;</span>
265 </td><td class="summary">
266 <table width="100%" cellpadding="0" cellspacing="0" border="0">
267 <tr>
268 <td><span class="summary-sig"><a href="googleapiclient.http-module.html#set_user_agent" class="summary-sig-name">set_user_agent</a>(<span class="summary-sig-arg">http</span>,
269 <span class="summary-sig-arg">user_agent</span>)</span><br />
270 Set the user-agent on every request.</td>
271 <td align="right" valign="top">
272 <span class="codelink"><a href="googleapiclient.http-pysrc.html#set_user_agent">source&nbsp;code</a></span>
273
274 </td>
275 </tr>
276 </table>
277
278 </td>
279 </tr>
280<tr>
281 <td width="15%" align="right" valign="top" class="summary">
282 <span class="summary-type">&nbsp;</span>
283 </td><td class="summary">
284 <table width="100%" cellpadding="0" cellspacing="0" border="0">
285 <tr>
286 <td><span class="summary-sig"><a href="googleapiclient.http-module.html#tunnel_patch" class="summary-sig-name">tunnel_patch</a>(<span class="summary-sig-arg">http</span>)</span><br />
287 Tunnel PATCH requests over POST.</td>
288 <td align="right" valign="top">
289 <span class="codelink"><a href="googleapiclient.http-pysrc.html#tunnel_patch">source&nbsp;code</a></span>
290
291 </td>
292 </tr>
293 </table>
294
295 </td>
296 </tr>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400297<tr>
298 <td width="15%" align="right" valign="top" class="summary">
299 <span class="summary-type">&nbsp;</span>
300 </td><td class="summary">
301 <table width="100%" cellpadding="0" cellspacing="0" border="0">
302 <tr>
303 <td><span class="summary-sig"><a href="googleapiclient.http-module.html#build_http" class="summary-sig-name">build_http</a>()</span><br />
304 Builds httplib2.Http object</td>
305 <td align="right" valign="top">
306 <span class="codelink"><a href="googleapiclient.http-pysrc.html#build_http">source&nbsp;code</a></span>
307
308 </td>
309 </tr>
310 </table>
311
312 </td>
313 </tr>
John Asmuth614db982014-04-24 15:46:26 -0400314</table>
315<!-- ==================== VARIABLES ==================== -->
316<a name="section-Variables"></a>
317<table class="summary" border="1" cellpadding="3"
318 cellspacing="0" width="100%" bgcolor="white">
319<tr bgcolor="#70b0f0" class="table-header">
320 <td colspan="2" class="table-header">
321 <table border="0" cellpadding="0" cellspacing="0" width="100%">
322 <tr valign="top">
323 <td align="left"><span class="table-header">Variables</span></td>
324 <td align="right" valign="top"
325 ><span class="options">[<a href="#section-Variables"
326 class="privatelink" onclick="toggle_private();"
327 >hide private</a>]</span></td>
328 </tr>
329 </table>
330 </td>
331</tr>
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700332<tr class="private">
333 <td width="15%" align="right" valign="top" class="summary">
334 <span class="summary-type">&nbsp;</span>
335 </td><td class="summary">
336 <a name="_ssl_SSLError"></a><span class="summary-name">_ssl_SSLError</span> = <code title="ssl.SSLError">ssl.SSLError</code>
337 </td>
338 </tr>
339<tr>
340 <td width="15%" align="right" valign="top" class="summary">
341 <span class="summary-type">&nbsp;</span>
342 </td><td class="summary">
343 <a name="LOGGER"></a><span class="summary-name">LOGGER</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
344 </td>
345 </tr>
John Asmuth614db982014-04-24 15:46:26 -0400346<tr>
347 <td width="15%" align="right" valign="top" class="summary">
348 <span class="summary-type">&nbsp;</span>
349 </td><td class="summary">
350 <a name="DEFAULT_CHUNK_SIZE"></a><span class="summary-name">DEFAULT_CHUNK_SIZE</span> = <code title="512* 1024">512* 1024</code>
351 </td>
352 </tr>
353<tr>
354 <td width="15%" align="right" valign="top" class="summary">
355 <span class="summary-type">&nbsp;</span>
356 </td><td class="summary">
357 <a name="MAX_URI_LENGTH"></a><span class="summary-name">MAX_URI_LENGTH</span> = <code title="2048">2048</code>
358 </td>
359 </tr>
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700360<tr class="private">
361 <td width="15%" align="right" valign="top" class="summary">
362 <span class="summary-type">&nbsp;</span>
363 </td><td class="summary">
364 <a name="_TOO_MANY_REQUESTS"></a><span class="summary-name">_TOO_MANY_REQUESTS</span> = <code title="429">429</code>
365 </td>
366 </tr>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400367<tr>
368 <td width="15%" align="right" valign="top" class="summary">
369 <span class="summary-type">&nbsp;</span>
370 </td><td class="summary">
371 <a name="DEFAULT_HTTP_TIMEOUT_SEC"></a><span class="summary-name">DEFAULT_HTTP_TIMEOUT_SEC</span> = <code title="60">60</code>
372 </td>
373 </tr>
John Asmuth614db982014-04-24 15:46:26 -0400374</table>
375<!-- ==================== FUNCTION DETAILS ==================== -->
376<a name="section-FunctionDetails"></a>
377<table class="details" border="1" cellpadding="3"
378 cellspacing="0" width="100%" bgcolor="white">
379<tr bgcolor="#70b0f0" class="table-header">
380 <td colspan="2" class="table-header">
381 <table border="0" cellpadding="0" cellspacing="0" width="100%">
382 <tr valign="top">
383 <td align="left"><span class="table-header">Function Details</span></td>
384 <td align="right" valign="top"
385 ><span class="options">[<a href="#section-FunctionDetails"
386 class="privatelink" onclick="toggle_private();"
387 >hide private</a>]</span></td>
388 </tr>
389 </table>
390 </td>
391</tr>
392</table>
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700393<a name="_should_retry_response"></a>
394<div class="private">
395<table class="details" border="1" cellpadding="3"
396 cellspacing="0" width="100%" bgcolor="white">
397<tr><td>
398 <table width="100%" cellpadding="0" cellspacing="0" border="0">
399 <tr valign="top"><td>
400 <h3 class="epydoc"><span class="sig"><span class="sig-name">_should_retry_response</span>(<span class="sig-arg">resp_status</span>,
401 <span class="sig-arg">content</span>)</span>
402 </h3>
403 </td><td align="right" valign="top"
404 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#_should_retry_response">source&nbsp;code</a></span>&nbsp;
405 </td>
406 </tr></table>
407
408 <pre class="literalblock">
409Determines whether a response should be retried.
410
411Args:
412 resp_status: The response status received.
413 content: The response content body.
414
415Returns:
416 True if the response should be retried, otherwise False.
417
418</pre>
419 <dl class="fields">
420 </dl>
421</td></tr></table>
422</div>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800423<a name="_retry_request"></a>
424<div class="private">
425<table class="details" border="1" cellpadding="3"
426 cellspacing="0" width="100%" bgcolor="white">
427<tr><td>
428 <table width="100%" cellpadding="0" cellspacing="0" border="0">
429 <tr valign="top"><td>
430 <h3 class="epydoc"><span class="sig"><span class="sig-name">_retry_request</span>(<span class="sig-arg">http</span>,
431 <span class="sig-arg">num_retries</span>,
432 <span class="sig-arg">req_type</span>,
433 <span class="sig-arg">sleep</span>,
434 <span class="sig-arg">rand</span>,
435 <span class="sig-arg">uri</span>,
436 <span class="sig-arg">method</span>,
437 <span class="sig-arg">*args</span>,
438 <span class="sig-arg">**kwargs</span>)</span>
439 </h3>
440 </td><td align="right" valign="top"
441 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#_retry_request">source&nbsp;code</a></span>&nbsp;
442 </td>
443 </tr></table>
444
445 <pre class="literalblock">
446Retries an HTTP request multiple times while handling errors.
447
448If after all retries the request still fails, last error is either returned as
449return value (for HTTP 5xx errors) or thrown (for ssl.SSLError).
450
451Args:
452 http: Http object to be used to execute request.
453 num_retries: Maximum number of retries.
454 req_type: Type of the request (used for logging retries).
455 sleep, rand: Functions to sleep for random time between retries.
456 uri: URI to be requested.
457 method: HTTP method to be used.
458 args, kwargs: Additional arguments passed to http.request.
459
460Returns:
461 resp, content - Response from the http request (may be HTTP 5xx).
462
463</pre>
464 <dl class="fields">
465 </dl>
466</td></tr></table>
467</div>
John Asmuth614db982014-04-24 15:46:26 -0400468<a name="set_user_agent"></a>
469<div>
470<table class="details" border="1" cellpadding="3"
471 cellspacing="0" width="100%" bgcolor="white">
472<tr><td>
473 <table width="100%" cellpadding="0" cellspacing="0" border="0">
474 <tr valign="top"><td>
475 <h3 class="epydoc"><span class="sig"><span class="sig-name">set_user_agent</span>(<span class="sig-arg">http</span>,
476 <span class="sig-arg">user_agent</span>)</span>
477 </h3>
478 </td><td align="right" valign="top"
479 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#set_user_agent">source&nbsp;code</a></span>&nbsp;
480 </td>
481 </tr></table>
482
483 <pre class="literalblock">
484Set the user-agent on every request.
485
486Args:
487 http - An instance of httplib2.Http
488 or something that acts like it.
489 user_agent: string, the value for the user-agent header.
490
491Returns:
492 A modified instance of http that was passed in.
493
494Example:
495
496 h = httplib2.Http()
497 h = set_user_agent(h, &quot;my-app-name/6.0&quot;)
498
499Most of the time the user-agent will be set doing auth, this is for the rare
500cases where you are accessing an unauthenticated endpoint.
501
502</pre>
503 <dl class="fields">
504 </dl>
505</td></tr></table>
506</div>
507<a name="tunnel_patch"></a>
508<div>
509<table class="details" border="1" cellpadding="3"
510 cellspacing="0" width="100%" bgcolor="white">
511<tr><td>
512 <table width="100%" cellpadding="0" cellspacing="0" border="0">
513 <tr valign="top"><td>
514 <h3 class="epydoc"><span class="sig"><span class="sig-name">tunnel_patch</span>(<span class="sig-arg">http</span>)</span>
515 </h3>
516 </td><td align="right" valign="top"
517 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#tunnel_patch">source&nbsp;code</a></span>&nbsp;
518 </td>
519 </tr></table>
520
521 <pre class="literalblock">
522Tunnel PATCH requests over POST.
523Args:
524 http - An instance of httplib2.Http
525 or something that acts like it.
526
527Returns:
528 A modified instance of http that was passed in.
529
530Example:
531
532 h = httplib2.Http()
533 h = tunnel_patch(h, &quot;my-app-name/6.0&quot;)
534
535Useful if you are running on a platform that doesn't support PATCH.
536Apply this last if you are using OAuth 1.0, as changing the method
537will result in a different signature.
538
539</pre>
540 <dl class="fields">
541 </dl>
542</td></tr></table>
543</div>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400544<a name="build_http"></a>
545<div>
546<table class="details" border="1" cellpadding="3"
547 cellspacing="0" width="100%" bgcolor="white">
548<tr><td>
549 <table width="100%" cellpadding="0" cellspacing="0" border="0">
550 <tr valign="top"><td>
551 <h3 class="epydoc"><span class="sig"><span class="sig-name">build_http</span>()</span>
552 </h3>
553 </td><td align="right" valign="top"
554 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#build_http">source&nbsp;code</a></span>&nbsp;
555 </td>
556 </tr></table>
557
558 <pre class="literalblock">
559Builds httplib2.Http object
560
561Returns:
562A httplib2.Http object, which is used to make http requests, and which has timeout set by default.
563To override default timeout call
564
565 socket.setdefaulttimeout(timeout_in_sec)
566
567before interacting with this method.
568
569</pre>
570 <dl class="fields">
571 </dl>
572</td></tr></table>
573</div>
John Asmuth614db982014-04-24 15:46:26 -0400574<br />
575<!-- ==================== NAVIGATION BAR ==================== -->
576<table class="navbar" border="0" width="100%" cellpadding="0"
577 bgcolor="#a0c0ff" cellspacing="0">
578 <tr valign="middle">
579 <!-- Home link -->
580 <th>&nbsp;&nbsp;&nbsp;<a
581 href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
582
583 <!-- Tree link -->
584 <th>&nbsp;&nbsp;&nbsp;<a
585 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
586
587 <!-- Index link -->
588 <th>&nbsp;&nbsp;&nbsp;<a
589 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
590
591 <!-- Help link -->
592 <th>&nbsp;&nbsp;&nbsp;<a
593 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
594
595 <th class="navbar" width="100%"></th>
596 </tr>
597</table>
598<table border="0" cellpadding="0" cellspacing="0" width="100%%">
599 <tr>
600 <td align="left" class="footer">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400601 Generated by Epydoc 3.0.1 on Fri Mar 10 15:54:55 2017
John Asmuth614db982014-04-24 15:46:26 -0400602 </td>
603 <td align="right" class="footer">
604 <a target="mainFrame" href="http://epydoc.sourceforge.net"
605 >http://epydoc.sourceforge.net</a>
606 </td>
607 </tr>
608</table>
609
610<script type="text/javascript">
611 <!--
612 // Private objects are initially displayed (because if
613 // javascript is turned off then we want them to be
614 // visible); but by default, we want to hide them. So hide
615 // them unless we have a cookie that says to show them.
616 checkCookie();
617 // -->
618</script>
619</body>
620</html>