I'm trying to use Flask context classes and functions on Google Cloud Functions. Here's simple code of what I'm trying to do:
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
I've tried removing app. and just using @before_request, but that doesn't seem to work. Any idea if this is supported?
Also, yes, I know that I could just add an execution_time parameter to each of my responses, but a) it would be nice to set it globally, and b) there are other use cases for the before_request and after_request functions.
Thanks!