made request pass-in able

This commit is contained in:
Ross Crawford-d'Heureuse 2013-10-31 14:53:04 +01:00
parent 7ef83cf020
commit 626c56bff4

View File

@ -116,8 +116,13 @@ class ForceAuthClientHandler(ClientHandler):
class APIClient(APIRequestFactory, DjangoClient):
request = None
def __init__(self, enforce_csrf_checks=False, **defaults):
self.request = defaults.get('request') if 'request' in defaults else None
super(APIClient, self).__init__(**defaults)
self.handler = ForceAuthClientHandler(enforce_csrf_checks)
self._credentials = {}
@ -138,6 +143,9 @@ class APIClient(APIRequestFactory, DjangoClient):
self.logout() # Also clear any possible session info if required
def request(self, **kwargs):
if self.request is not None:
return self.request
# Ensure that any credentials set get added to every request.
kwargs.update(self._credentials)
return super(APIClient, self).request(**kwargs)