将UUID附加到所有烧瓶请求

时间:2019-02-13 19:18:35

标签: python flask middleware

我想向Flask应用程序中的每个请求添加一个uuid。在其他框架中,我只需要添加一个中间件,即可向请求中添加键/值,但我似乎无法弄清楚如何在Flask中做到这一点。

import flask
import uuid

class RequestMiddleware:
    def __init__(self, app):
        self.app = app

    def __call__(self, environ, start_response):
        flask.g['uuid'] = uuid.uuid4()

        return self.app(environ, start_response)


def create_app():
    app = Flask(__name__)
    app.wsgi_app = RequestMiddleware(app.wsgi_app)

    return app

问题是我对g的使用引发了可怕的RuntimeError: Working outside of application context.。这很有意义,因为我们仍在设置应用程序。但是,似乎没有一种方法可以通过中间件访问grequest

0 个答案:

没有答案