aboutsummaryrefslogtreecommitdiff
path: root/gn2/wqflask/requests.py
diff options
context:
space:
mode:
Diffstat (limited to 'gn2/wqflask/requests.py')
-rw-r--r--gn2/wqflask/requests.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/gn2/wqflask/requests.py b/gn2/wqflask/requests.py
new file mode 100644
index 00000000..43c8001f
--- /dev/null
+++ b/gn2/wqflask/requests.py
@@ -0,0 +1,16 @@
+"""requests but with monads"""
+import requests
+from pymonad.either import Left, Right, Either
+
+def __wrap_response__(resp) -> Either:
+ if resp.status_code == 200:
+ return Right(resp)
+ return Left(resp)
+
+def get(url, params=None, **kwargs) -> Either:
+ """Wrap requests get method with Either monad"""
+ return __wrap_response__(requests.get(url, params=params, **kwargs))
+
+def post(url, data=None, json=None, **kwargs) -> Either:
+ """Wrap requests post method with Either monad"""
+ return __wrap_response__(requests.post(url, data=data, json=json, **kwargs))