def __call__(self, view_func, *_args, **_kwargs):
async def wrapped_view(*args, **kwargs):
request = None
if 'request' in kwargs:
request = kwags['request']
for arg in args:
if type(arg) == Request:
request = arg
break
if not request:
raise ServerError('No request found!')
if request['session'].get('user', None):
return await view_func(*args, **kwargs)
if self.redirect:
return login_redirect(request)
return json({'message': 'access denied'}, status=403)
return wrapped_view
评论列表
文章目录