我有一个Flask RESTapi,由多个团队使用,我想记录用户统计信息。 API没有任何用户身份验证机制,因为在我们的公司环境中不需要它(它托管在内部服务器上,因此无论谁可以访问它,他/她都有权这样做)。
不过,我想知道大多数请求的来源。当然,我可以轻松地在每条路线上添加一个记录器到数据库,并保存request.remote_addr
,但是我想在调用具体路由之前这样做(因为实际调用哪条路径并不重要,我还是想要用户统计信息) ;因此,它可以复制到其他基于Flask的API,因此无需记住每次创建路由时都添加用户记录器。
好吧,问题是我应该寻找Flask的哪个部分,以便在将请求发送到具体路线之前添加我的额外功能?
Flask有一个before_request函数,您可以使用全局请求对象访问当前请求。
from flask import request
@app.before_request
def working():
do_something_with_request(request)