如何在aiohttp服务器应用程序中实现current_request

时间:2017-11-30 15:45:15

标签: python sqlalchemy python-asyncio aiohttp

您好我正在为SQLALchemy编写数据库扩展。

关于SQLAlchemy文档页面:Using Custom Created Scopes

我需要返回当前请求的函数。

您对如何在aiohttp服务器应用程序中实现此类功能有想法吗?

class MyApp(web.Application):

    def get_current_request(self):
        # TODO
        pass

1 个答案:

答案 0 :(得分:2)

目前唯一的选择是显式地将请求对象(从处理程序)传递到您需要的任何位置。没有它,在处理程序之外,很难说哪个请求是当前的。

值得注意的是隧道中有一盏灯 - PEP 550(也可以看PEP 521)。到目前为止它只是一个草稿,但它可以帮助在异步上下文中传递这样的变量,就像使用TLS(线程局部存储threading.local())一样。