From: Kenneth Reitz Date: Thu, 12 May 2011 07:14:09 +0000 (-0400) Subject: Encode incoming data. X-Git-Tag: v0.3.3^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b6f6048cff7189afee6a4fb89f9f0cdca0095b66;p=services%2Fpython-requests.git Encode incoming data. Closes #27. --- diff --git a/requests/core.py b/requests/core.py index 6408afc..b2bad89 100644 --- a/requests/core.py +++ b/requests/core.py @@ -71,14 +71,17 @@ class Request(object): 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() @@ -158,8 +161,9 @@ class Request(object): 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: @@ -170,6 +174,7 @@ class Request(object): 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, @@ -203,6 +208,9 @@ class Request(object): req.headers.update(self.headers) if not self.sent or anyway: + + + try: opener = self._get_opener() resp = opener(req) @@ -229,6 +237,8 @@ class Request(object): def read(self, *args): return self.response.read() + + class Response(object): """The :class:`Request` object. All :class:`Request` objects contain a :class:`Request.response ` attribute, which is an instance of @@ -263,6 +273,7 @@ class Response(object): return self.content + class AuthManager(object): """Authentication Manager.""" @@ -299,6 +310,7 @@ class AuthManager(object): 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