diff options
Diffstat (limited to 'gn2/wqflask/requests.py')
-rw-r--r-- | gn2/wqflask/requests.py | 16 |
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)) |