diff options
Diffstat (limited to 'gn_auth/auth/requests.py')
| -rw-r--r-- | gn_auth/auth/requests.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gn_auth/auth/requests.py b/gn_auth/auth/requests.py index e876641..01ff765 100644 --- a/gn_auth/auth/requests.py +++ b/gn_auth/auth/requests.py @@ -1,10 +1,12 @@ """Utilities to deal with requests.""" -import werkzeug from flask import request def request_json() -> dict: """Retrieve the JSON sent in a request.""" - try: - return request.json - except werkzeug.exceptions.UnsupportedMediaType: - return dict(request.form) or {} + if request.headers.get("Content-Type") == "application/json": + # KLUDGE: We have this check here since request.json has the + # type Any | None; see: + # <https://github.com/pallets/werkzeug/blob/7868bef5d978093a8baa0784464ebe5d775ae92a/src/werkzeug/wrappers/request.py#L545> + return request.json or {} + else: + return dict(request.args) or dict(request.form) or {} |
