diff options
| -rw-r--r-- | gn_libs/requests.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gn_libs/requests.py b/gn_libs/requests.py new file mode 100644 index 0000000..18404aa --- /dev/null +++ b/gn_libs/requests.py @@ -0,0 +1,16 @@ +"""Utilities to deal with requests.""" +from json.decoder import JSONDecodeError +from flask import request + +def request_json() -> dict: + """Retrieve the JSON sent in a request.""" + if "application/json" in request.headers.get("Content-Type", ""): + try: + return request.json or {} + except JSONDecodeError: + return {} + + if "multipart/form-data" in request.headers.get("Content-Type", ""): + return dict(request.form) or {} + + return dict(request.args) or {} |
