diff --git a/flask_log_request_id/request_id.py b/flask_log_request_id/request_id.py index 9f38ea0..aa9f06f 100644 --- a/flask_log_request_id/request_id.py +++ b/flask_log_request_id/request_id.py @@ -15,13 +15,9 @@ def flask_ctx_get_request_id(): Get request id from flask's G object :return: The id or None if not found. """ - from flask import _app_ctx_stack as stack # We do not support < Flask 0.9 - - if stack.top is None: - raise ExecutedOutsideContext() - - g_object_attr = stack.top.app.config['LOG_REQUEST_ID_G_OBJECT_ATTRIBUTE'] - return g.get(g_object_attr, None) + if flask.has_app_context(): + g_object_attr = g.log_request_id_g_object_attribute + return g.get(g_object_attr, None) current_request_id = MultiContextRequestIdFetcher() @@ -73,6 +69,7 @@ def _persist_request_id(): To be used as a consumer of Flask.before_request event. """ + g.log_request_id_g_object_attribute = app.config['LOG_REQUEST_ID_G_OBJECT_ATTRIBUTE'] g_object_attr = current_app.config['LOG_REQUEST_ID_G_OBJECT_ATTRIBUTE'] setattr(g, g_object_attr, self._request_id_parser())