blob: 056a21a147487b36479943003c9ec1d71288118f [file] [log] [blame]
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -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>apiclient.http.HttpRequest</title>
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
8 <script type="text/javascript" src="epydoc.js"></script>
9</head>
10
11<body bgcolor="white" text="black" link="blue" vlink="#204080"
12 alink="#204080">
13<!-- ==================== NAVIGATION BAR ==================== -->
14<table class="navbar" border="0" width="100%" cellpadding="0"
15 bgcolor="#a0c0ff" cellspacing="0">
16 <tr valign="middle">
17
18 <!-- Tree link -->
19 <th>&nbsp;&nbsp;&nbsp;<a
20 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
21
22 <!-- Index link -->
23 <th>&nbsp;&nbsp;&nbsp;<a
24 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
25
26 <!-- Help link -->
27 <th>&nbsp;&nbsp;&nbsp;<a
28 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
29
30 <th class="navbar" width="100%"></th>
31 </tr>
32</table>
33<table width="100%" cellpadding="0" cellspacing="0">
34 <tr valign="top">
35 <td width="100%">
36 <span class="breadcrumbs">
37 <a href="apiclient-module.html">Package&nbsp;apiclient</a> ::
38 <a href="apiclient.http-module.html">Module&nbsp;http</a> ::
39 Class&nbsp;HttpRequest
40 </span>
41 </td>
42 <td>
43 <table cellpadding="0" cellspacing="0">
44 <!-- hide/show private -->
45 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
46 onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
47 <tr><td align="right"><span class="options"
48 >[<a href="frames.html" target="_top">frames</a
49 >]&nbsp;|&nbsp;<a href="apiclient.http.HttpRequest-class.html"
50 target="_top">no&nbsp;frames</a>]</span></td></tr>
51 </table>
52 </td>
53 </tr>
54</table>
55<!-- ==================== CLASS DESCRIPTION ==================== -->
56<h1 class="epydoc">Class HttpRequest</h1><p class="nomargin-top"><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest">source&nbsp;code</a></span></p>
57<center>
Joe Gregorio746096f2012-06-15 10:53:36 -040058<center> <map id="class_hierarchy_for_httpreques" name="class_hierarchy_for_httpreques">
59<area shape="rect" href="apiclient.http.HttpRequest-class.html" title="HttpRequest" alt="" coords="5,5,99,32"/>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040060</map>
Joe Gregorio746096f2012-06-15 10:53:36 -040061 <img src="class_hierarchy_for_httpreques.gif" alt='' usemap="#class_hierarchy_for_httpreques" ismap="ismap" class="graph-without-title" />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -040062</center>
63</center>
64<hr />
65<pre class="literalblock">
66Encapsulates a single HTTP request.
67
68</pre>
69
70<!-- ==================== INSTANCE METHODS ==================== -->
71<a name="section-InstanceMethods"></a>
72<table class="summary" border="1" cellpadding="3"
73 cellspacing="0" width="100%" bgcolor="white">
74<tr bgcolor="#70b0f0" class="table-header">
75 <td colspan="2" class="table-header">
76 <table border="0" cellpadding="0" cellspacing="0" width="100%">
77 <tr valign="top">
78 <td align="left"><span class="table-header">Instance Methods</span></td>
79 <td align="right" valign="top"
80 ><span class="options">[<a href="#section-InstanceMethods"
81 class="privatelink" onclick="toggle_private();"
82 >hide private</a>]</span></td>
83 </tr>
84 </table>
85 </td>
86</tr>
87<tr>
88 <td width="15%" align="right" valign="top" class="summary">
89 <span class="summary-type">&nbsp;</span>
90 </td><td class="summary">
91 <table width="100%" cellpadding="0" cellspacing="0" border="0">
92 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -040093 <td><span class="summary-sig"><a href="apiclient.http.HttpRequest-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
94 <span class="summary-sig-arg">http</span>,
95 <span class="summary-sig-arg">postproc</span>,
96 <span class="summary-sig-arg">uri</span>,
97 <span class="summary-sig-arg">method</span>=<span class="summary-sig-default">'GET'</span>,
98 <span class="summary-sig-arg">body</span>=<span class="summary-sig-default">None</span>,
99 <span class="summary-sig-arg">headers</span>=<span class="summary-sig-default">None</span>,
100 <span class="summary-sig-arg">methodId</span>=<span class="summary-sig-default">None</span>,
101 <span class="summary-sig-arg">resumable</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400102 Constructor for an HttpRequest.</td>
103 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400104 <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.__init__">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400105
106 </td>
107 </tr>
108 </table>
109
110 </td>
111 </tr>
112<tr>
113 <td width="15%" align="right" valign="top" class="summary">
114 <span class="summary-type">&nbsp;</span>
115 </td><td class="summary">
116 <table width="100%" cellpadding="0" cellspacing="0" border="0">
117 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400118 <td><span class="summary-sig"><a href="apiclient.http.HttpRequest-class.html#execute" class="summary-sig-name">execute</a>(<span class="summary-sig-arg">self</span>,
119 <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400120 Execute the request.</td>
121 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400122 <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.execute">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400123
124 </td>
125 </tr>
126 </table>
127
128 </td>
129 </tr>
130<tr>
131 <td width="15%" align="right" valign="top" class="summary">
132 <span class="summary-type">&nbsp;</span>
133 </td><td class="summary">
134 <table width="100%" cellpadding="0" cellspacing="0" border="0">
135 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400136 <td><span class="summary-sig"><a href="apiclient.http.HttpRequest-class.html#next_chunk" class="summary-sig-name">next_chunk</a>(<span class="summary-sig-arg">self</span>,
137 <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>)</span><br />
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400138 Execute the next step of a resumable upload.</td>
139 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400140 <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.next_chunk">source&nbsp;code</a></span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400141
142 </td>
143 </tr>
144 </table>
145
146 </td>
147 </tr>
Joe Gregorio66212032012-06-14 09:10:14 -0400148<tr class="private">
149 <td width="15%" align="right" valign="top" class="summary">
150 <span class="summary-type">&nbsp;</span>
151 </td><td class="summary">
152 <table width="100%" cellpadding="0" cellspacing="0" border="0">
153 <tr>
154 <td><span class="summary-sig"><a href="apiclient.http.HttpRequest-class.html#_process_response" class="summary-sig-name" onclick="show_private();">_process_response</a>(<span class="summary-sig-arg">self</span>,
155 <span class="summary-sig-arg">resp</span>,
156 <span class="summary-sig-arg">content</span>)</span><br />
157 Process the response from a single chunk upload.</td>
158 <td align="right" valign="top">
159 <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest._process_response">source&nbsp;code</a></span>
160
161 </td>
162 </tr>
163 </table>
164
165 </td>
166 </tr>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400167<tr>
168 <td width="15%" align="right" valign="top" class="summary">
169 <span class="summary-type">&nbsp;</span>
170 </td><td class="summary">
171 <table width="100%" cellpadding="0" cellspacing="0" border="0">
172 <tr>
173 <td><span class="summary-sig"><a name="to_json"></a><span class="summary-sig-name">to_json</span>(<span class="summary-sig-arg">self</span>)</span><br />
174 Returns a JSON representation of the HttpRequest.</td>
175 <td align="right" valign="top">
176 <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.to_json">source&nbsp;code</a></span>
177
178 </td>
179 </tr>
180 </table>
181
182 </td>
183 </tr>
184 <tr>
185 <td colspan="2" class="summary">
186 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
187 <code>__delattr__</code>,
188 <code>__format__</code>,
189 <code>__getattribute__</code>,
190 <code>__hash__</code>,
191 <code>__new__</code>,
192 <code>__reduce__</code>,
193 <code>__reduce_ex__</code>,
194 <code>__repr__</code>,
195 <code>__setattr__</code>,
196 <code>__sizeof__</code>,
197 <code>__str__</code>,
198 <code>__subclasshook__</code>
199 </p>
200 </td>
201 </tr>
202</table>
203<!-- ==================== STATIC METHODS ==================== -->
204<a name="section-StaticMethods"></a>
205<table class="summary" border="1" cellpadding="3"
206 cellspacing="0" width="100%" bgcolor="white">
207<tr bgcolor="#70b0f0" class="table-header">
208 <td colspan="2" class="table-header">
209 <table border="0" cellpadding="0" cellspacing="0" width="100%">
210 <tr valign="top">
211 <td align="left"><span class="table-header">Static Methods</span></td>
212 <td align="right" valign="top"
213 ><span class="options">[<a href="#section-StaticMethods"
214 class="privatelink" onclick="toggle_private();"
215 >hide private</a>]</span></td>
216 </tr>
217 </table>
218 </td>
219</tr>
220<tr>
221 <td width="15%" align="right" valign="top" class="summary">
222 <span class="summary-type">&nbsp;</span>
223 </td><td class="summary">
224 <table width="100%" cellpadding="0" cellspacing="0" border="0">
225 <tr>
226 <td><span class="summary-sig"><a name="from_json"></a><span class="summary-sig-name">from_json</span>(<span class="summary-sig-arg">s</span>,
227 <span class="summary-sig-arg">http</span>,
228 <span class="summary-sig-arg">postproc</span>)</span><br />
229 Returns an HttpRequest populated with info from a JSON object.</td>
230 <td align="right" valign="top">
231 <span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.from_json">source&nbsp;code</a></span>
232
233 </td>
234 </tr>
235 </table>
236
237 </td>
238 </tr>
239</table>
240<!-- ==================== PROPERTIES ==================== -->
241<a name="section-Properties"></a>
242<table class="summary" border="1" cellpadding="3"
243 cellspacing="0" width="100%" bgcolor="white">
244<tr bgcolor="#70b0f0" class="table-header">
245 <td colspan="2" class="table-header">
246 <table border="0" cellpadding="0" cellspacing="0" width="100%">
247 <tr valign="top">
248 <td align="left"><span class="table-header">Properties</span></td>
249 <td align="right" valign="top"
250 ><span class="options">[<a href="#section-Properties"
251 class="privatelink" onclick="toggle_private();"
252 >hide private</a>]</span></td>
253 </tr>
254 </table>
255 </td>
256</tr>
257 <tr>
258 <td colspan="2" class="summary">
259 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
260 <code>__class__</code>
261 </p>
262 </td>
263 </tr>
264</table>
265<!-- ==================== METHOD DETAILS ==================== -->
266<a name="section-MethodDetails"></a>
267<table class="details" border="1" cellpadding="3"
268 cellspacing="0" width="100%" bgcolor="white">
269<tr bgcolor="#70b0f0" class="table-header">
270 <td colspan="2" class="table-header">
271 <table border="0" cellpadding="0" cellspacing="0" width="100%">
272 <tr valign="top">
273 <td align="left"><span class="table-header">Method Details</span></td>
274 <td align="right" valign="top"
275 ><span class="options">[<a href="#section-MethodDetails"
276 class="privatelink" onclick="toggle_private();"
277 >hide private</a>]</span></td>
278 </tr>
279 </table>
280 </td>
281</tr>
282</table>
283<a name="__init__"></a>
284<div>
285<table class="details" border="1" cellpadding="3"
286 cellspacing="0" width="100%" bgcolor="white">
287<tr><td>
288 <table width="100%" cellpadding="0" cellspacing="0" border="0">
289 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400290 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
291 <span class="sig-arg">http</span>,
292 <span class="sig-arg">postproc</span>,
293 <span class="sig-arg">uri</span>,
294 <span class="sig-arg">method</span>=<span class="sig-default">'GET'</span>,
295 <span class="sig-arg">body</span>=<span class="sig-default">None</span>,
296 <span class="sig-arg">headers</span>=<span class="sig-default">None</span>,
297 <span class="sig-arg">methodId</span>=<span class="sig-default">None</span>,
298 <span class="sig-arg">resumable</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400299 <br /><em class="fname">(Constructor)</em>
300 </h3>
301 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400302 ><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.__init__">source&nbsp;code</a></span>&nbsp;
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400303 </td>
304 </tr></table>
305
306 <pre class="literalblock">
307Constructor for an HttpRequest.
308
309Args:
310 http: httplib2.Http, the transport object to use to make a request
311 postproc: callable, called on the HTTP response and content to transform
312 it into a data object before returning, or raising an exception
313 on an error.
314 uri: string, the absolute URI to send the request to
315 method: string, the HTTP method to use
316 body: string, the request body of the HTTP request,
317 headers: dict, the HTTP request headers
318 methodId: string, a unique identifier for the API method being called.
319 resumable: MediaUpload, None if this is not a resumbale request.
320
321</pre>
322 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400323 <dt>Decorators:</dt>
324 <dd><ul class="nomargin-top">
325 <li><code>@util.positional(4)</code></li>
326 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400327 <dt>Overrides:
328 object.__init__
329 </dt>
330 </dl>
331</td></tr></table>
332</div>
333<a name="execute"></a>
334<div>
335<table class="details" border="1" cellpadding="3"
336 cellspacing="0" width="100%" bgcolor="white">
337<tr><td>
338 <table width="100%" cellpadding="0" cellspacing="0" border="0">
339 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400340 <h3 class="epydoc"><span class="sig"><span class="sig-name">execute</span>(<span class="sig-arg">self</span>,
341 <span class="sig-arg">http</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400342 </h3>
343 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400344 ><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.execute">source&nbsp;code</a></span>&nbsp;
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400345 </td>
346 </tr></table>
347
348 <pre class="literalblock">
349Execute the request.
350
351Args:
352 http: httplib2.Http, an http object to be used in place of the
353 one the HttpRequest request object was constructed with.
354
355Returns:
356 A deserialized object model of the response body as determined
357 by the postproc.
358
359Raises:
360 apiclient.errors.HttpError if the response was not a 2xx.
Joe Gregorioad8013f2012-08-03 08:44:02 -0400361 httplib2.HttpLib2Error if a transport error has occured.
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400362
363</pre>
364 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400365 <dt>Decorators:</dt>
366 <dd><ul class="nomargin-top">
367 <li><code>@util.positional(1)</code></li>
368 </ul></dd>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400369 </dl>
370</td></tr></table>
371</div>
372<a name="next_chunk"></a>
373<div>
374<table class="details" border="1" cellpadding="3"
375 cellspacing="0" width="100%" bgcolor="white">
376<tr><td>
377 <table width="100%" cellpadding="0" cellspacing="0" border="0">
378 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400379 <h3 class="epydoc"><span class="sig"><span class="sig-name">next_chunk</span>(<span class="sig-arg">self</span>,
380 <span class="sig-arg">http</span>=<span class="sig-default">None</span>)</span>
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400381 </h3>
382 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400383 ><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest.next_chunk">source&nbsp;code</a></span>&nbsp;
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400384 </td>
385 </tr></table>
386
387 <pre class="literalblock">
388Execute the next step of a resumable upload.
389
390Can only be used if the method being executed supports media uploads and
391the MediaUpload object passed in was flagged as using resumable upload.
392
393Example:
394
Joe Gregorioebd0b842012-06-15 14:14:17 -0400395 media = MediaFileUpload('cow.png', mimetype='image/png',
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400396 chunksize=1000, resumable=True)
Joe Gregorioebd0b842012-06-15 14:14:17 -0400397 request = farm.animals().insert(
398 id='cow',
399 name='cow.png',
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400400 media_body=media)
401
402 response = None
403 while response is None:
404 status, response = request.next_chunk()
405 if status:
406 print &quot;Upload %d%% complete.&quot; % int(status.progress() * 100)
407
408
409Returns:
410 (status, body): (ResumableMediaStatus, object)
411 The body will be None until the resumable media is fully uploaded.
412
Joe Gregorio66212032012-06-14 09:10:14 -0400413Raises:
414 apiclient.errors.HttpError if the response was not a 2xx.
Joe Gregorioad8013f2012-08-03 08:44:02 -0400415 httplib2.HttpLib2Error if a transport error has occured.
Joe Gregorio66212032012-06-14 09:10:14 -0400416
417</pre>
418 <dl class="fields">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400419 <dt>Decorators:</dt>
420 <dd><ul class="nomargin-top">
421 <li><code>@util.positional(1)</code></li>
422 </ul></dd>
Joe Gregorio66212032012-06-14 09:10:14 -0400423 </dl>
424</td></tr></table>
425</div>
426<a name="_process_response"></a>
427<div class="private">
428<table class="details" border="1" cellpadding="3"
429 cellspacing="0" width="100%" bgcolor="white">
430<tr><td>
431 <table width="100%" cellpadding="0" cellspacing="0" border="0">
432 <tr valign="top"><td>
433 <h3 class="epydoc"><span class="sig"><span class="sig-name">_process_response</span>(<span class="sig-arg">self</span>,
434 <span class="sig-arg">resp</span>,
435 <span class="sig-arg">content</span>)</span>
436 </h3>
437 </td><td align="right" valign="top"
438 ><span class="codelink"><a href="apiclient.http-pysrc.html#HttpRequest._process_response">source&nbsp;code</a></span>&nbsp;
439 </td>
440 </tr></table>
441
442 <pre class="literalblock">
443Process the response from a single chunk upload.
444
445Args:
446 resp: httplib2.Response, the response object.
447 content: string, the content of the response.
448
449Returns:
450 (status, body): (ResumableMediaStatus, object)
451 The body will be None until the resumable media is fully uploaded.
452
453Raises:
454 apiclient.errors.HttpError if the response was not a 2xx or a 308.
455
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400456</pre>
457 <dl class="fields">
458 </dl>
459</td></tr></table>
460</div>
461<br />
462<!-- ==================== NAVIGATION BAR ==================== -->
463<table class="navbar" border="0" width="100%" cellpadding="0"
464 bgcolor="#a0c0ff" cellspacing="0">
465 <tr valign="middle">
466
467 <!-- Tree link -->
468 <th>&nbsp;&nbsp;&nbsp;<a
469 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
470
471 <!-- Index link -->
472 <th>&nbsp;&nbsp;&nbsp;<a
473 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
474
475 <!-- Help link -->
476 <th>&nbsp;&nbsp;&nbsp;<a
477 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
478
479 <th class="navbar" width="100%"></th>
480 </tr>
481</table>
482<table border="0" cellpadding="0" cellspacing="0" width="100%%">
483 <tr>
484 <td align="left" class="footer">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400485 Generated by Epydoc 3.0.1 on Thu Sep 6 13:36:12 2012
Joe Gregorio5dc0f5c2012-06-05 13:34:31 -0400486 </td>
487 <td align="right" class="footer">
488 <a target="mainFrame" href="http://epydoc.sourceforge.net"
489 >http://epydoc.sourceforge.net</a>
490 </td>
491 </tr>
492</table>
493
494<script type="text/javascript">
495 <!--
496 // Private objects are initially displayed (because if
497 // javascript is turned off then we want them to be
498 // visible); but by default, we want to hide them. So hide
499 // them unless we have a cookie that says to show them.
500 checkCookie();
501 // -->
502</script>
503</body>
504</html>