forced_basic default handler.
authorKenneth Reitz <me@kennethreitz.com>
Sun, 24 Jul 2011 01:37:08 +0000 (21:37 -0400)
committerKenneth Reitz <me@kennethreitz.com>
Sun, 24 Jul 2011 01:37:17 +0000 (21:37 -0400)
requests/models.py

index 575ec8b..289546c 100644 (file)
@@ -16,7 +16,7 @@ from urlparse import urlparse, urlunparse
 from datetime import datetime
 
 from .config import settings
-from .monkeys import Request as _Request, HTTPBasicAuthHandler, HTTPDigestAuthHandler, HTTPRedirectHandler
+from .monkeys import Request as _Request, HTTPBasicAuthHandler, HTTPForcedBasicAuthHandler, HTTPDigestAuthHandler, HTTPRedirectHandler
 from .structures import CaseInsensitiveDict
 from .packages.poster.encode import multipart_encode
 from .packages.poster.streaminghttp import register_openers, get_handlers
@@ -80,6 +80,11 @@ class Request(object):
         #: True if Request has been sent.
         self.sent = False
 
+        headers = settings.base_headers
+        if self.headers:
+            headers.update(self.headers)
+        self.headers = headers
+
 
     def __repr__(self):
         return '<Request [%s]>' % (self.method)
@@ -534,17 +539,18 @@ class AuthObject(object):
 
     _handlers = {
         'basic': HTTPBasicAuthHandler,
+        'forced_basic': HTTPForcedBasicAuthHandler,
         'digest': HTTPDigestAuthHandler,
         'proxy_basic': urllib2.ProxyBasicAuthHandler,
         'proxy_digest': urllib2.ProxyDigestAuthHandler
     }
 
-    def __init__(self, username, password, handler='basic', realm=None):
+    def __init__(self, username, password, handler='forced_basic', realm=None):
         self.username = username
         self.password = password
         self.realm = realm
 
         if isinstance(handler, basestring):
-            self.handler = self._handlers.get(handler.lower(), HTTPBasicAuthHandler)
+            self.handler = self._handlers.get(handler.lower(), HTTPForcedBasicAuthHandler)
         else:
             self.handler = handler