From: Kenneth Reitz Date: Thu, 24 Feb 2011 06:53:55 +0000 (-0500) Subject: Merge branch 'develop' into merge/xero X-Git-Tag: v0.3.0^2~17 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d91157c56773c507f86ac46f4c7d752be1c943f1;p=services%2Fpython-requests.git Merge branch 'develop' into merge/xero --- d91157c56773c507f86ac46f4c7d752be1c943f1 diff --cc requests/core.py index 3d7fcd7,ee5162d..cbb71ae --- a/requests/core.py +++ b/requests/core.py @@@ -13,10 -13,24 +13,10 @@@ from __future__ import absolute_import import urllib import urllib2 - from urllib2 import HTTPError -try: - import eventlet - eventlet.monkey_patch() -except ImportError: - pass - -if not 'eventlet' in locals(): - try: - from gevent import monkey - monkey.patch_all() - except ImportError: - pass - from .packages.poster.encode import multipart_encode - from .packages.poster.streaminghttp import register_openers + from .packages.poster.streaminghttp import register_openers, get_handlers __title__ = 'requests' @@@ -101,33 -108,39 +101,30 @@@ class Request(object) _handlers = [] - if self.auth or self.cookiejar: - - if self.auth: - - authr = urllib2.HTTPPasswordMgrWithDefaultRealm() - - authr.add_password(None, self.url, self.auth.username, self.auth.password) - auth_handler = urllib2.HTTPBasicAuthHandler(authr) + if self.auth: + if not isinstance(self.auth.handler, (urllib2.AbstractBasicAuthHandler, urllib2.AbstractDigestAuthHandler)): + auth_manager.add_password(self.auth.realm, self.url, self.auth.username, self.auth.password) + self.auth.handler = self.auth.handler(auth_manager) + auth_manager.add_auth(self.url, self.auth) - _handlers.append(auth_handler) - - if self.cookiejar: - - cookie_handler = urllib2.HTTPCookieProcessor(cookiejar) - _handlers.append(cookie_handler) + _handlers.append(self.auth.handler) - if self.cookiejar: - cookie_handler = urllib2.HTTPCookieProcessor(cookiejar) - _handlers.append(cookie_handler) - if _handlers: + _handlers.extend(get_handlers()) opener = urllib2.build_opener(*_handlers) return opener.open - else: return urllib2.urlopen def _build_response(self, resp): """Build internal Response object from given response.""" - - self.response.status_code = resp.code - self.response.headers = resp.info().dict or resp.headers + + self.response.status_code = getattr(resp, 'code', None) + self.response.headers = getattr(resp.info(), 'dict', None) + self.response.url = getattr(resp, 'url', None) self.response.content = resp.read() - self.response.url = resp.url - + def send(self, anyway=False): """Sends the request. Returns True of successful, false if not. If there was an HTTPError during transmission,