python falcon falcon.before with async



我想添加一个falcon.before挂钩,例如:

def check_authenticated(request, response, resource, params):
print(request.headers)
request.context.test = 'test'
@falcon.before(check_authenticated)
class testing(object):
async def on_get(self, request, response):
print(request.headers)
print('made it here')

但我一直面临错误:TypeError: object NoneType can't be used in 'await' expression

通过on_get响应程序的异步签名(async def(,我假设您使用的是该框架的ASGI风格。在这种情况下,不仅响应程序,而且中间件方法、钩子、接收器、错误处理程序函数都必须是不可用的协程函数。

比较和对比该"消息"的WSGI和ASGI版本;更复杂的例子";,其中钩子在框架的同步和异步风格中都与CCD_ 5一起应用。

TL;DR您需要将挂钩更改为async def check_authenticated(...)

相关内容

  • 没有找到相关文章

最新更新