Подтвердить что ты не робот

Flask - доступ к запросу в after_request или teardown_request

Я хочу иметь доступ к объекту запроса, прежде чем возвращать ответ HTTP-вызова. Я хочу получить доступ к запросу через "teardown_request" и "after_request":

from flask import Flask
...
app = Flask(__name__, instance_relative_config=True)
...

@app.before_request
def before_request():
    # do something

@app.after_request
def after_request(response):
    # get the request object somehow
    do_something_based_on_the_request_endpoint(request)

@app.teardown_request
def teardown_request(response):
    # get the request object somehow
    do_something_based_on_the_request_endpoint(request)

Я видел, что я могу добавить запрос в g и сделать что-то вроде этого:

g.curr_request = request

@app.after_request
def after_request(response):
    # get the request object somehow
    do_something_based_on_the_request_endpoint(g.curr_request)

Но вышеизложенное кажется немного странным. Я уверен, что есть лучший способ получить доступ к запросу.

Спасибо

4b9b3361

Ответ 1

Решение простое -

from flask import request

@app.after_request
def after_request(response):
    do_something_based_on_the_request_endpoint(request)
    return response