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