Я пытаюсь использовать Flask контекстные классы и функции в облачных функциях Google. Вот простой код того, что я пытаюсь сделать:
import time
from flask import request, jsonify, g
@app.before_request
def before_request():
g.start = time.time()
@app.after_request
def after_request(response):
if ((response.json) and (response.response) and (200 <= response.status_code < 300)):
response.json['execution_time'] = time.time() - g.start
response.set_data(bytes(json.dumps(response.json), 'utf-8'))
return response
def hello_world(request):
response = jsonify({"status": "success", "message": "Hello World!"})
response.status_code = 200
return response
Я пытался удалить app.
и просто использовать @before_request
, но, похоже, это не работает. Любая идея, если это поддерживается?
Кроме того, да, я знаю, что я мог бы просто добавить параметр execution_time
к каждому из моих ответов, но а) было бы неплохо установить его глобально, и б) Существуют и другие варианты использования функций before_request
и after_request
.
Спасибо!