about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2026-09-10 17:34:04 -0500
committerFrederick Muriuki Muriithi2026-09-10 17:34:04 -0500
commite9dee56bce30ef50b5a3f25b49055c6b004e3297 (patch)
tree14dfa96f657b3179678fc6648495ef32d8655572
parent75f70a195b8141bc5258f6531eeea4d4224c0147 (diff)
downloadgn-libs-e9dee56bce30ef50b5a3f25b49055c6b004e3297.tar.gz
Add utility for handling requests. HEAD main
-rw-r--r--gn_libs/requests.py16
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 {}