From: Kenneth Reitz Date: Fri, 22 Mar 2013 19:47:20 +0000 (-0400) Subject: actually cleanup url authentication X-Git-Tag: v1.2.0~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=19d38d502fa606568dcf5eae42a211f1621bda83;p=services%2Fpython-requests.git actually cleanup url authentication --- diff --git a/requests/models.py b/requests/models.py index dd17e82..838e78a 100644 --- a/requests/models.py +++ b/requests/models.py @@ -220,12 +220,10 @@ class Request(RequestHooksMixin): p.prepare_headers(self.headers) p.prepare_cookies(self.cookies) p.prepare_body(self.data, self.files) + p.prepare_auth(self.auth, self.url) # Note that prepare_auth must be last to enable authentication schemes # such as OAuth to work on a fully prepared request. - embedded_auth = get_auth_from_url(self.url) - p.prepare_auth(self.auth or embedded_auth) - # This MUST go after prepare_auth. Authenticators could add a hook p.prepare_hooks(self.hooks) @@ -398,8 +396,14 @@ class PreparedRequest(RequestEncodingMixin, RequestHooksMixin): elif self.method not in ('GET', 'HEAD'): self.headers['Content-Length'] = '0' - def prepare_auth(self, auth): + def prepare_auth(self, auth, url=''): """Prepares the given HTTP auth data.""" + + # If no Auth is explicitly provided, extract it from the URL. + if auth is None: + url_auth = get_auth_from_url(self.url) + auth = url_auth if any(url_auth) else None + if auth: if isinstance(auth, tuple) and len(auth) == 2: # special-case basic HTTP auth