return self.sent
+ @property
+ def curl(self):
+ """Creates a curl command from the request"""
+
+ #TODO - Auth with User names and accounts
+ #TODO - Files
+ #TODO - OAuth
+
+ #: -L/--location - if there is a redirect, redo request on the new place
+ curl_cmd = 'curl -L '
+
+ #: -H/--header - Extra header to use when getting a web page
+ header = ''
+ if self.headers:
+ header = header.join(['-H "' + key + ':' + value + '" ' for key, value in self.headers.iteritems()])
+
+ if self.method.upper() == 'HEAD':
+ #: -I/--head - fetch headers only
+ method_opt = '-I '
+ else:
+ #: -X/--request - specify request method
+ method_opt = '-X %s ' % self.method.upper()
+
+ data = ''
+ if self.method in ('PUT', 'POST', 'PATCH'):
+ #: -d/--data - send specified data in post request.
+ #: '-d name=John -d last=Doe' generates the
+ #: post chunk 'name=John&last=Doe'
+
+ if isinstance(self.data, (list, tuple)):
+ data = data.join(['-d ' + key + '=' + value + ' ' for key, value in self.data])
+ else:
+ data = '-d ' + self._enc_data + ' '
+
+ #: Params handled in _build_url
+ return curl_cmd + method_opt + data + header + '"' + self._build_url() + '"'
-
class Response(object):
- """The core :class:`Response <models.Response>` object. All
- :class:`Request <models.Request>` objects contain a
- :class:`response <models.Response>` attribute, which is an instance
+ """The core :class:`Response <Response>` object. All
+ :class:`Request <Request>` objects contain a
+ :class:`response <Response>` attribute, which is an instance
of this class.
"""