blob: e5c8b8490fc23283bffda5c4f2b4711a854904d0 [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>
225 <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>,
226 <span class="summary-sig-arg">num_retries</span>,
227 <span class="summary-sig-arg">req_type</span>,
228 <span class="summary-sig-arg">sleep</span>,
229 <span class="summary-sig-arg">rand</span>,
230 <span class="summary-sig-arg">uri</span>,
231 <span class="summary-sig-arg">method</span>,
232 <span class="summary-sig-arg">*args</span>,
233 <span class="summary-sig-arg">**kwargs</span>)</span><br />
234 Retries an HTTP request multiple times while handling errors.</td>
235 <td align="right" valign="top">
236 <span class="codelink"><a href="googleapiclient.http-pysrc.html#_retry_request">source&nbsp;code</a></span>
237
238 </td>
239 </tr>
240 </table>
241
242 </td>
243 </tr>
John Asmuth614db982014-04-24 15:46:26 -0400244<tr>
245 <td width="15%" align="right" valign="top" class="summary">
246 <span class="summary-type">&nbsp;</span>
247 </td><td class="summary">
248 <table width="100%" cellpadding="0" cellspacing="0" border="0">
249 <tr>
250 <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>,
251 <span class="summary-sig-arg">user_agent</span>)</span><br />
252 Set the user-agent on every request.</td>
253 <td align="right" valign="top">
254 <span class="codelink"><a href="googleapiclient.http-pysrc.html#set_user_agent">source&nbsp;code</a></span>
255
256 </td>
257 </tr>
258 </table>
259
260 </td>
261 </tr>
262<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#tunnel_patch" class="summary-sig-name">tunnel_patch</a>(<span class="summary-sig-arg">http</span>)</span><br />
269 Tunnel PATCH requests over POST.</td>
270 <td align="right" valign="top">
271 <span class="codelink"><a href="googleapiclient.http-pysrc.html#tunnel_patch">source&nbsp;code</a></span>
272
273 </td>
274 </tr>
275 </table>
276
277 </td>
278 </tr>
279</table>
280<!-- ==================== VARIABLES ==================== -->
281<a name="section-Variables"></a>
282<table class="summary" border="1" cellpadding="3"
283 cellspacing="0" width="100%" bgcolor="white">
284<tr bgcolor="#70b0f0" class="table-header">
285 <td colspan="2" class="table-header">
286 <table border="0" cellpadding="0" cellspacing="0" width="100%">
287 <tr valign="top">
288 <td align="left"><span class="table-header">Variables</span></td>
289 <td align="right" valign="top"
290 ><span class="options">[<a href="#section-Variables"
291 class="privatelink" onclick="toggle_private();"
292 >hide private</a>]</span></td>
293 </tr>
294 </table>
295 </td>
296</tr>
297<tr>
298 <td width="15%" align="right" valign="top" class="summary">
299 <span class="summary-type">&nbsp;</span>
300 </td><td class="summary">
301 <a name="DEFAULT_CHUNK_SIZE"></a><span class="summary-name">DEFAULT_CHUNK_SIZE</span> = <code title="512* 1024">512* 1024</code>
302 </td>
303 </tr>
304<tr>
305 <td width="15%" align="right" valign="top" class="summary">
306 <span class="summary-type">&nbsp;</span>
307 </td><td class="summary">
308 <a name="MAX_URI_LENGTH"></a><span class="summary-name">MAX_URI_LENGTH</span> = <code title="2048">2048</code>
309 </td>
310 </tr>
311</table>
312<!-- ==================== FUNCTION DETAILS ==================== -->
313<a name="section-FunctionDetails"></a>
314<table class="details" border="1" cellpadding="3"
315 cellspacing="0" width="100%" bgcolor="white">
316<tr bgcolor="#70b0f0" class="table-header">
317 <td colspan="2" class="table-header">
318 <table border="0" cellpadding="0" cellspacing="0" width="100%">
319 <tr valign="top">
320 <td align="left"><span class="table-header">Function Details</span></td>
321 <td align="right" valign="top"
322 ><span class="options">[<a href="#section-FunctionDetails"
323 class="privatelink" onclick="toggle_private();"
324 >hide private</a>]</span></td>
325 </tr>
326 </table>
327 </td>
328</tr>
329</table>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800330<a name="_retry_request"></a>
331<div class="private">
332<table class="details" border="1" cellpadding="3"
333 cellspacing="0" width="100%" bgcolor="white">
334<tr><td>
335 <table width="100%" cellpadding="0" cellspacing="0" border="0">
336 <tr valign="top"><td>
337 <h3 class="epydoc"><span class="sig"><span class="sig-name">_retry_request</span>(<span class="sig-arg">http</span>,
338 <span class="sig-arg">num_retries</span>,
339 <span class="sig-arg">req_type</span>,
340 <span class="sig-arg">sleep</span>,
341 <span class="sig-arg">rand</span>,
342 <span class="sig-arg">uri</span>,
343 <span class="sig-arg">method</span>,
344 <span class="sig-arg">*args</span>,
345 <span class="sig-arg">**kwargs</span>)</span>
346 </h3>
347 </td><td align="right" valign="top"
348 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#_retry_request">source&nbsp;code</a></span>&nbsp;
349 </td>
350 </tr></table>
351
352 <pre class="literalblock">
353Retries an HTTP request multiple times while handling errors.
354
355If after all retries the request still fails, last error is either returned as
356return value (for HTTP 5xx errors) or thrown (for ssl.SSLError).
357
358Args:
359 http: Http object to be used to execute request.
360 num_retries: Maximum number of retries.
361 req_type: Type of the request (used for logging retries).
362 sleep, rand: Functions to sleep for random time between retries.
363 uri: URI to be requested.
364 method: HTTP method to be used.
365 args, kwargs: Additional arguments passed to http.request.
366
367Returns:
368 resp, content - Response from the http request (may be HTTP 5xx).
369
370</pre>
371 <dl class="fields">
372 </dl>
373</td></tr></table>
374</div>
John Asmuth614db982014-04-24 15:46:26 -0400375<a name="set_user_agent"></a>
376<div>
377<table class="details" border="1" cellpadding="3"
378 cellspacing="0" width="100%" bgcolor="white">
379<tr><td>
380 <table width="100%" cellpadding="0" cellspacing="0" border="0">
381 <tr valign="top"><td>
382 <h3 class="epydoc"><span class="sig"><span class="sig-name">set_user_agent</span>(<span class="sig-arg">http</span>,
383 <span class="sig-arg">user_agent</span>)</span>
384 </h3>
385 </td><td align="right" valign="top"
386 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#set_user_agent">source&nbsp;code</a></span>&nbsp;
387 </td>
388 </tr></table>
389
390 <pre class="literalblock">
391Set the user-agent on every request.
392
393Args:
394 http - An instance of httplib2.Http
395 or something that acts like it.
396 user_agent: string, the value for the user-agent header.
397
398Returns:
399 A modified instance of http that was passed in.
400
401Example:
402
403 h = httplib2.Http()
404 h = set_user_agent(h, &quot;my-app-name/6.0&quot;)
405
406Most of the time the user-agent will be set doing auth, this is for the rare
407cases where you are accessing an unauthenticated endpoint.
408
409</pre>
410 <dl class="fields">
411 </dl>
412</td></tr></table>
413</div>
414<a name="tunnel_patch"></a>
415<div>
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">tunnel_patch</span>(<span class="sig-arg">http</span>)</span>
422 </h3>
423 </td><td align="right" valign="top"
424 ><span class="codelink"><a href="googleapiclient.http-pysrc.html#tunnel_patch">source&nbsp;code</a></span>&nbsp;
425 </td>
426 </tr></table>
427
428 <pre class="literalblock">
429Tunnel PATCH requests over POST.
430Args:
431 http - An instance of httplib2.Http
432 or something that acts like it.
433
434Returns:
435 A modified instance of http that was passed in.
436
437Example:
438
439 h = httplib2.Http()
440 h = tunnel_patch(h, &quot;my-app-name/6.0&quot;)
441
442Useful if you are running on a platform that doesn't support PATCH.
443Apply this last if you are using OAuth 1.0, as changing the method
444will result in a different signature.
445
446</pre>
447 <dl class="fields">
448 </dl>
449</td></tr></table>
450</div>
451<br />
452<!-- ==================== NAVIGATION BAR ==================== -->
453<table class="navbar" border="0" width="100%" cellpadding="0"
454 bgcolor="#a0c0ff" cellspacing="0">
455 <tr valign="middle">
456 <!-- Home link -->
457 <th>&nbsp;&nbsp;&nbsp;<a
458 href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
459
460 <!-- Tree link -->
461 <th>&nbsp;&nbsp;&nbsp;<a
462 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
463
464 <!-- Index link -->
465 <th>&nbsp;&nbsp;&nbsp;<a
466 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
467
468 <!-- Help link -->
469 <th>&nbsp;&nbsp;&nbsp;<a
470 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
471
472 <th class="navbar" width="100%"></th>
473 </tr>
474</table>
475<table border="0" cellpadding="0" cellspacing="0" width="100%%">
476 <tr>
477 <td align="left" class="footer">
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800478 Generated by Epydoc 3.0.1 on Fri Feb 19 16:00:24 2016
John Asmuth614db982014-04-24 15:46:26 -0400479 </td>
480 <td align="right" class="footer">
481 <a target="mainFrame" href="http://epydoc.sourceforge.net"
482 >http://epydoc.sourceforge.net</a>
483 </td>
484 </tr>
485</table>
486
487<script type="text/javascript">
488 <!--
489 // Private objects are initially displayed (because if
490 // javascript is turned off then we want them to be
491 // visible); but by default, we want to hide them. So hide
492 // them unless we have a cookie that says to show them.
493 checkCookie();
494 // -->
495</script>
496</body>
497</html>