Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 15 additions & 13 deletions compose/backend/neurosynth_compose/resources/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@
from contextlib import contextmanager
from urllib.request import urlopen

from flask import jsonify, request
from flask import current_app, has_app_context, jsonify, request
from jose import jwt
from flask import current_app
from werkzeug.local import LocalProxy
from connexion.security import NO_VALUE
from ..database import db
Expand Down Expand Up @@ -73,23 +72,26 @@ def init_app(app):


def _get_current_app():
try:
if has_app_context():
return current_app._get_current_object()
except RuntimeError as exc: # pragma: no cover - defensive
if _flask_app is not None and "application context" in str(exc).lower():
return _flask_app
raise
if _flask_app is not None: # pragma: no cover - defensive
return _flask_app
raise RuntimeError("No Flask application is configured for authentication helpers.")


@contextmanager
def _ensure_app_context():
try:
if has_app_context():
yield current_app._get_current_object()
except RuntimeError as exc:
if _flask_app is None or "application context" not in str(exc).lower():
raise
with _flask_app.app_context():
yield _flask_app
return

if _flask_app is None: # pragma: no cover - defensive
raise RuntimeError(
"No Flask application is configured for authentication helpers."
)

with _flask_app.app_context():
yield _flask_app


app = LocalProxy(_get_current_app)
Expand Down
Loading