Michael Richardson avatar Michael Richardson committed 3c423be

Return authentication.HttpBasicAuthentication to its former pluggable state.

Comments (0)

Files changed (1)

piston/authentication.py

         This will usually be a `HttpResponse` object with
         some kind of challenge headers and 401 code on it.
     """
-    def __init__(self, realm='API'):
+    def __init__(self, auth_func=authenticate, realm='API'):
+        self.auth_func = auth_func
         self.realm = realm
 
     def is_authenticated(self, request):
         auth = auth.strip().decode('base64')
         (username, password) = auth.split(':', 1)
         
-        request.user = authenticate(username=username, password=password) or AnonymousUser()
+        request.user = self.auth_func(username=username, password=password) \
+            or AnonymousUser()
         
         return not request.user in (False, None, AnonymousUser())
         
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.