我正在为 Django 频道编写自定义身份验证中间件
class TokenAuthMiddleware:
def __init__(self, inner):
# Store the ASGI application we were passed
self.inner = inner
def __call__(self, scope):
return TokenAuthMiddlewareInstance(scope, self)
class TokenAuthMiddlewareInstance:
def __init__(self, scope, middleware):
self.middleware = middleware
self.scope = dict(scope)
self.inner = self.middleware.inner
async def __call__(self, receive, send):
## my logic to get validate user and store the user in user data
...
...
...
self.scope['user'] = user_data
inner = self.inner(self.scope)
return await inner(receive, send)
Run Code Online (Sandbox Code Playgroud)
但是在尝试从前端连接到 Web 套接字时,我收到以下错误
TypeError: __call__() missing 2 required …Run Code Online (Sandbox Code Playgroud)