blob: c8f811510516e444357868db8f6b395b76157034 [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
Bu Sun Kim02bae1c2019-06-14 13:33:59 -070064actual HTTP request.
John Asmuth614db982014-04-24 15:46:26 -040065
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">
Bu Sun Kim02bae1c2019-06-14 13:33:59 -0700350 <a name="DEFAULT_CHUNK_SIZE"></a><span class="summary-name">DEFAULT_CHUNK_SIZE</span> = <code title="100* 1024* 1024">100* 1024* 1024</code>
John Asmuth614db982014-04-24 15:46:26 -0400351 </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>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700360<tr>
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="MAX_BATCH_LIMIT"></a><span class="summary-name">MAX_BATCH_LIMIT</span> = <code title="1000">1000</code>
365 </td>
366 </tr>
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700367<tr class="private">
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="_TOO_MANY_REQUESTS"></a><span class="summary-name">_TOO_MANY_REQUESTS</span> = <code title="429">429</code>
372 </td>
373 </tr>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400374<tr>
375 <td width="15%" align="right" valign="top" class="summary">
376 <span class="summary-type">&nbsp;</span>
377 </td><td class="summary">
378 <a name="DEFAULT_HTTP_TIMEOUT_SEC"></a><span class="summary-name">DEFAULT_HTTP_TIMEOUT_SEC</span> = <code title="60">60</code>
379 </td>
380 </tr>
Bu Sun Kim02bae1c2019-06-14 13:33:59 -0700381<tr class="private">
382 <td width="15%" align="right" valign="top" class="summary">
383 <span class="summary-type">&nbsp;</span>
384 </td><td class="summary">
Dan O'Mearadd494642020-05-01 07:42:23 -0700385 <a name="_LEGACY_BATCH_URI"></a><span class="summary-name">_LEGACY_BATCH_URI</span> = <code title="&quot;https://www.googleapis.com/batch&quot;">&quot;https://www.googleapis.com/batch&quot;</code>
386 </td>
387 </tr>
388<tr>
389 <td width="15%" align="right" valign="top" class="summary">
390 <span class="summary-type">&nbsp;</span>
391 </td><td class="summary">
392 <a name="ConnectionError"></a><span class="summary-name">ConnectionError</span> = <code title="None">None</code>
Bu Sun Kim02bae1c2019-06-14 13:33:59 -0700393 </td>
394 </tr>
John Asmuth614db982014-04-24 15:46:26 -0400395</table>
396<!-- ==================== FUNCTION DETAILS ==================== -->
397<a name="section-FunctionDetails"></a>
398<table class="details" border="1" cellpadding="3"
399 cellspacing="0" width="100%" bgcolor="white">
400<tr bgcolor="#70b0f0" class="table-header">
401 <td colspan="2" class="table-header">
402 <table border="0" cellpadding="0" cellspacing="0" width="100%">
403 <tr valign="top">
404 <td align="left"><span class="table-header">Function Details</span></td>
405 <td align="right" valign="top"
406 ><span class="options">[<a href="#section-FunctionDetails"
407 class="privatelink" onclick="toggle_private();"
408 >hide private</a>]</span></td>
409 </tr>
410 </table>
411 </td>
412</tr>
413</table>
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700414<a name="_should_retry_response"></a>
415<div class="private">
416<table class="details" border="1" cellpadding="3"
417 cellspacing="0" width="100%" bgcolor="white">
418<tr><td>
419 <table width="100%" cellpadding="0" cellspacing="0" border="0">
420 <tr valign="top"><td>
421 <h3 class="epydoc"><span class="sig"><span class="sig-name">_should_retry_response</span>(<span class="sig-arg">resp_status</span>,
422 <span class="sig-arg">content</span>)</span>
423 </h3>
424 </td><td align="right" valign="top"
425 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#_should_retry_response">source&nbsp;code</a></span>&nbsp;
426 </td>
427 </tr></table>
428
429 <pre class="literalblock">
430Determines whether a response should be retried.
431
432Args:
433 resp_status: The response status received.
Bu Sun Kim02bae1c2019-06-14 13:33:59 -0700434 content: The response content body.
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700435
436Returns:
437 True if the response should be retried, otherwise False.
438
439</pre>
440 <dl class="fields">
441 </dl>
442</td></tr></table>
443</div>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800444<a name="_retry_request"></a>
445<div class="private">
446<table class="details" border="1" cellpadding="3"
447 cellspacing="0" width="100%" bgcolor="white">
448<tr><td>
449 <table width="100%" cellpadding="0" cellspacing="0" border="0">
450 <tr valign="top"><td>
451 <h3 class="epydoc"><span class="sig"><span class="sig-name">_retry_request</span>(<span class="sig-arg">http</span>,
452 <span class="sig-arg">num_retries</span>,
453 <span class="sig-arg">req_type</span>,
454 <span class="sig-arg">sleep</span>,
455 <span class="sig-arg">rand</span>,
456 <span class="sig-arg">uri</span>,
457 <span class="sig-arg">method</span>,
458 <span class="sig-arg">*args</span>,
459 <span class="sig-arg">**kwargs</span>)</span>
460 </h3>
461 </td><td align="right" valign="top"
462 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#_retry_request">source&nbsp;code</a></span>&nbsp;
463 </td>
464 </tr></table>
465
466 <pre class="literalblock">
467Retries an HTTP request multiple times while handling errors.
468
469If after all retries the request still fails, last error is either returned as
470return value (for HTTP 5xx errors) or thrown (for ssl.SSLError).
471
472Args:
473 http: Http object to be used to execute request.
474 num_retries: Maximum number of retries.
475 req_type: Type of the request (used for logging retries).
476 sleep, rand: Functions to sleep for random time between retries.
477 uri: URI to be requested.
478 method: HTTP method to be used.
479 args, kwargs: Additional arguments passed to http.request.
480
481Returns:
482 resp, content - Response from the http request (may be HTTP 5xx).
483
484</pre>
485 <dl class="fields">
486 </dl>
487</td></tr></table>
488</div>
John Asmuth614db982014-04-24 15:46:26 -0400489<a name="set_user_agent"></a>
490<div>
491<table class="details" border="1" cellpadding="3"
492 cellspacing="0" width="100%" bgcolor="white">
493<tr><td>
494 <table width="100%" cellpadding="0" cellspacing="0" border="0">
495 <tr valign="top"><td>
496 <h3 class="epydoc"><span class="sig"><span class="sig-name">set_user_agent</span>(<span class="sig-arg">http</span>,
497 <span class="sig-arg">user_agent</span>)</span>
498 </h3>
499 </td><td align="right" valign="top"
500 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#set_user_agent">source&nbsp;code</a></span>&nbsp;
501 </td>
502 </tr></table>
503
504 <pre class="literalblock">
505Set the user-agent on every request.
506
507Args:
508 http - An instance of httplib2.Http
509 or something that acts like it.
510 user_agent: string, the value for the user-agent header.
511
512Returns:
513 A modified instance of http that was passed in.
514
515Example:
516
517 h = httplib2.Http()
518 h = set_user_agent(h, &quot;my-app-name/6.0&quot;)
519
520Most of the time the user-agent will be set doing auth, this is for the rare
521cases where you are accessing an unauthenticated endpoint.
522
523</pre>
524 <dl class="fields">
525 </dl>
526</td></tr></table>
527</div>
528<a name="tunnel_patch"></a>
529<div>
530<table class="details" border="1" cellpadding="3"
531 cellspacing="0" width="100%" bgcolor="white">
532<tr><td>
533 <table width="100%" cellpadding="0" cellspacing="0" border="0">
534 <tr valign="top"><td>
535 <h3 class="epydoc"><span class="sig"><span class="sig-name">tunnel_patch</span>(<span class="sig-arg">http</span>)</span>
536 </h3>
537 </td><td align="right" valign="top"
538 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#tunnel_patch">source&nbsp;code</a></span>&nbsp;
539 </td>
540 </tr></table>
541
542 <pre class="literalblock">
543Tunnel PATCH requests over POST.
544Args:
545 http - An instance of httplib2.Http
546 or something that acts like it.
547
548Returns:
549 A modified instance of http that was passed in.
550
551Example:
552
553 h = httplib2.Http()
554 h = tunnel_patch(h, &quot;my-app-name/6.0&quot;)
555
556Useful if you are running on a platform that doesn't support PATCH.
557Apply this last if you are using OAuth 1.0, as changing the method
558will result in a different signature.
559
560</pre>
561 <dl class="fields">
562 </dl>
563</td></tr></table>
564</div>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400565<a name="build_http"></a>
566<div>
567<table class="details" border="1" cellpadding="3"
568 cellspacing="0" width="100%" bgcolor="white">
569<tr><td>
570 <table width="100%" cellpadding="0" cellspacing="0" border="0">
571 <tr valign="top"><td>
572 <h3 class="epydoc"><span class="sig"><span class="sig-name">build_http</span>()</span>
573 </h3>
574 </td><td align="right" valign="top"
575 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#build_http">source&nbsp;code</a></span>&nbsp;
576 </td>
577 </tr></table>
578
579 <pre class="literalblock">
580Builds httplib2.Http object
581
582Returns:
583A httplib2.Http object, which is used to make http requests, and which has timeout set by default.
584To override default timeout call
585
586 socket.setdefaulttimeout(timeout_in_sec)
587
588before interacting with this method.
589
590</pre>
591 <dl class="fields">
592 </dl>
593</td></tr></table>
594</div>
John Asmuth614db982014-04-24 15:46:26 -0400595<br />
596<!-- ==================== NAVIGATION BAR ==================== -->
597<table class="navbar" border="0" width="100%" cellpadding="0"
598 bgcolor="#a0c0ff" cellspacing="0">
599 <tr valign="middle">
600 <!-- Home link -->
601 <th>&nbsp;&nbsp;&nbsp;<a
602 href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
603
604 <!-- Tree link -->
605 <th>&nbsp;&nbsp;&nbsp;<a
606 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
607
608 <!-- Index link -->
609 <th>&nbsp;&nbsp;&nbsp;<a
610 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
611
612 <!-- Help link -->
613 <th>&nbsp;&nbsp;&nbsp;<a
614 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
615
616 <th class="navbar" width="100%"></th>
617 </tr>
618</table>
619<table border="0" cellpadding="0" cellspacing="0" width="100%%">
620 <tr>
621 <td align="left" class="footer">
Dan O'Mearadd494642020-05-01 07:42:23 -0700622 Generated by Epydoc 3.0.1 on Thu Apr 30 17:06:05 2020
John Asmuth614db982014-04-24 15:46:26 -0400623 </td>
624 <td align="right" class="footer">
625 <a target="mainFrame" href="http://epydoc.sourceforge.net"
626 >http://epydoc.sourceforge.net</a>
627 </td>
628 </tr>
629</table>
630
631<script type="text/javascript">
632 <!--
633 // Private objects are initially displayed (because if
634 // javascript is turned off then we want them to be
635 // visible); but by default, we want to hide them. So hide
636 // them unless we have a cookie that says to show them.
637 checkCookie();
638 // -->
639</script>
640</body>
641</html>