mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-02 19:40:13 +03:00
made request pass-in able
This commit is contained in:
parent
7ef83cf020
commit
626c56bff4
|
@ -116,8 +116,13 @@ class ForceAuthClientHandler(ClientHandler):
|
||||||
|
|
||||||
|
|
||||||
class APIClient(APIRequestFactory, DjangoClient):
|
class APIClient(APIRequestFactory, DjangoClient):
|
||||||
|
request = None
|
||||||
|
|
||||||
def __init__(self, enforce_csrf_checks=False, **defaults):
|
def __init__(self, enforce_csrf_checks=False, **defaults):
|
||||||
|
self.request = defaults.get('request') if 'request' in defaults else None
|
||||||
|
|
||||||
super(APIClient, self).__init__(**defaults)
|
super(APIClient, self).__init__(**defaults)
|
||||||
|
|
||||||
self.handler = ForceAuthClientHandler(enforce_csrf_checks)
|
self.handler = ForceAuthClientHandler(enforce_csrf_checks)
|
||||||
self._credentials = {}
|
self._credentials = {}
|
||||||
|
|
||||||
|
@ -138,6 +143,9 @@ class APIClient(APIRequestFactory, DjangoClient):
|
||||||
self.logout() # Also clear any possible session info if required
|
self.logout() # Also clear any possible session info if required
|
||||||
|
|
||||||
def request(self, **kwargs):
|
def request(self, **kwargs):
|
||||||
|
if self.request is not None:
|
||||||
|
return self.request
|
||||||
|
|
||||||
# Ensure that any credentials set get added to every request.
|
# Ensure that any credentials set get added to every request.
|
||||||
kwargs.update(self._credentials)
|
kwargs.update(self._credentials)
|
||||||
return super(APIClient, self).request(**kwargs)
|
return super(APIClient, self).request(**kwargs)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user