def signature_middleware(app, handler):
"""Check request signature"""
async def middleware_handler(request: Request):
if request.method == 'POST' and app.bot.check_signature:
sig = request.query.get('sig')
body = await request.read()
if verify_signature(body, sig, app.bot.auth_token):
response = await handler(request)
else:
logger.warning('Post requests with bad signature {sig} {body}'.format(
sig=sig, body=body
))
response = web.HTTPForbidden()
else:
response = await handler(request)
return response
return middleware_handler
评论列表
文章目录