我想添加一个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(...)
。