diff --git a/aiohttp_json_rpc/auth/__init__.py b/aiohttp_json_rpc/auth/__init__.py index 3656854..c6f97ce 100644 --- a/aiohttp_json_rpc/auth/__init__.py +++ b/aiohttp_json_rpc/auth/__init__.py @@ -3,7 +3,7 @@ class AuthBackend: class DummyAuthBackend(AuthBackend): - def prepare_request(self, request): + async def prepare_request(self, request): request.methods = request.rpc.methods request.topics = set(request.rpc.topics.keys()) request.subscriptions = set() diff --git a/aiohttp_json_rpc/auth/django.py b/aiohttp_json_rpc/auth/django.py index 6fa6c4d..4819875 100644 --- a/aiohttp_json_rpc/auth/django.py +++ b/aiohttp_json_rpc/auth/django.py @@ -175,12 +175,12 @@ async def login(self, request): ) # rediscover methods and topics - self.prepare_request(request.http_request, user=user) + await self.prepare_request(request.http_request, user=user) return True # request processing - def prepare_request(self, request, user=None): + async def prepare_request(self, request, user=None): request.user = user or self.get_user(request) request.methods = {} diff --git a/aiohttp_json_rpc/auth/passwd.py b/aiohttp_json_rpc/auth/passwd.py index 07f54b6..b8e14c2 100644 --- a/aiohttp_json_rpc/auth/passwd.py +++ b/aiohttp_json_rpc/auth/passwd.py @@ -126,7 +126,7 @@ def _is_authorized(self, request, method): return True - def prepare_request(self, request): + async def prepare_request(self, request): if not hasattr(request, 'user'): request.user = None @@ -175,7 +175,7 @@ async def login(self, request): await loop.run_in_executor(None, self._login, username, password)) # rediscover methods - self.prepare_request(request.http_request) + await self.prepare_request(request.http_request) return bool(request.http_request.user) @@ -184,7 +184,7 @@ async def logout(self, request): request.http_request.user = None request.http_request.permissions = set() - self.prepare_request(request.http_request) + await self.prepare_request(request.http_request) return True diff --git a/aiohttp_json_rpc/rpc.py b/aiohttp_json_rpc/rpc.py index 030f044..5a5e2f3 100644 --- a/aiohttp_json_rpc/rpc.py +++ b/aiohttp_json_rpc/rpc.py @@ -253,7 +253,7 @@ def __call__(self, request): async def handle_request(self, request): # prepare request request.rpc = self - self.auth_backend.prepare_request(request) + await self.auth_backend.prepare_request(request) # handle request if request.method == 'GET':