访问Flask

时间:2018-04-13 11:22:55

标签: python flask bottle

所以,我想写这个Python代码,想要评估我得到的请求中的数据并采取相应的行动。我有许多不同的端点,我想要一种方法来访问所有请求的请求数据,而无需手动创建每个可能的端点。 有没有办法用Flask / Bottle做到这一点?各种代理

1 个答案:

答案 0 :(得分:1)

您可以在使用@app.before_request decorator的每个请求之前注册要调用的函数:

@app.before_request
def handle_every_request():
    # ...

如果此函数返回除None以外的任何内容,则它将用作响应,并且不会调用任何视图。这将允许您创建任意数量的路由选项。

另一种选择是使用request_started signal,请参阅Signals documentation

from flask import request_started

@request_started.connect_via(app)
def handle_every_request(sender, **kwargs):
    # ...

以上内容会侦听特定Flask app实例的请求。如果您想收听所有应用的所有请求,请使用@request_started.connect。然而,信号只是听,他们不会路由。

通常,Flask和Bottle都是 WSGI 应用程序。 WSGI支持在WSGI middleware中包装这些应用程序,让您检查请求 - 响应对的每个输入和输出字节。这使您可以访问较低级别的数据。但是,您可以使用它来重写所请求的路径。