keep auth DRY

This commit is contained in:
Kenneth Reitz
2011-12-18 19:14:50 -05:00
parent f8cf713f41
commit 8207ed074e
+8 -4
View File
@@ -16,6 +16,12 @@ from urlparse import urlparse
from .utils import randombytes, parse_dict_header
def _basic_auth_str(username, password):
"""Returns a Basic Auth string."""
return 'Basic %s' % b64encode('%s:%s' % (username, password))
class AuthBase(object):
"""Base class that all auth implementations derive from"""
@@ -30,16 +36,14 @@ class HTTPBasicAuth(AuthBase):
self.password = str(password)
def __call__(self, r):
auth_s = b64encode('%s:%s' % (self.username, self.password))
r.headers['Authorization'] = ('Basic %s' % auth_s)
r.headers['Authorization'] = _basic_auth_str(self.username, self.password)
return r
class HTTPProxyAuth(HTTPBasicAuth):
"""Attaches HTTP Proxy Authenetication to a given Request object."""
def __call__(self, r):
auth_s = b64encode('%s:%s' % (self.username, self.password))
r.headers['Proxy-Authorization'] = ('Basic %s' % auth_s)
r.headers['Proxy-Authorization'] = _basic_auth_str(self.username, self.password)
return r