self.files = files
self.method = method
self.data = data
-
+
socket.setdefaulttimeout(timeout)
+ for (k, v) in self.data.iteritems():
+ self.data[k] = v.encode('utf-8')
+
# url encode data if it's a dict
if hasattr(data, 'items'):
- self._enc_data = urllib.urlencode(data)
+ self._enc_data = urllib.urlencode(self.data)
else:
- self._enc_data = data
+ self._enc_data = self.data
self.response = Response()
self.response.url = getattr(resp, 'url', None)
+
@staticmethod
- def _build_url(url, data):
+ def _build_url(url, data=None):
"""Build URLs."""
if urlparse(url).query:
else:
return url
+
def send(self, anyway=False):
"""Sends the request. Returns True of successful, false if not.
If there was an HTTPError during transmission,
req.headers.update(self.headers)
if not self.sent or anyway:
+
+
+
try:
opener = self._get_opener()
resp = opener(req)
def read(self, *args):
return self.response.read()
+
+
class Response(object):
"""The :class:`Request` object. All :class:`Request` objects contain a
:class:`Request.response <response>` attribute, which is an instance of
return self.content
+
class AuthManager(object):
"""Authentication Manager."""
self._auth[uri] = auth
+
def add_password(self, realm, uri, user, passwd):
"""Adds password to AuthManager."""
# uri could be a single URI or a sequence