From 4ac811ebb298e0d6ce899686332a1b4f3d56e566 Mon Sep 17 00:00:00 2001
From: beckerfy <fynn.becker@hs-hannover.de>
Date: Thu, 1 Nov 2018 18:14:24 +0100
Subject: [PATCH] Improve exception message, set default BASE_URI

---
 postgrestutils/__init__.py               |  1 +
 postgrestutils/client/postgrestclient.py | 14 +++++++++-----
 postgrestutils/settings.py               |  4 +---
 3 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/postgrestutils/__init__.py b/postgrestutils/__init__.py
index 3f3dd56..d3c1a16 100644
--- a/postgrestutils/__init__.py
+++ b/postgrestutils/__init__.py
@@ -1,6 +1,7 @@
 import logging
 
 from . import settings
+from requests import HTTPError
 
 logger = logging.getLogger("postgrestutils")
 
diff --git a/postgrestutils/client/postgrestclient.py b/postgrestutils/client/postgrestclient.py
index 78bfb83..ce1cfc4 100644
--- a/postgrestutils/client/postgrestclient.py
+++ b/postgrestutils/client/postgrestclient.py
@@ -16,16 +16,20 @@ class PostgrestClient:
         :param path_and_query: specifies the endpoint and optionally filter queries
         :param singular: if True returns a JSON object rather than a list (406 when multiple results are returned)
         :param parse_dt: if True attempts to parse datetime strings to python datetime objects
-        :return: result(s) as JSON or raises HTTPError
+        :return: result(s) as python object or raises HTTPError
         """
         if singular:
             self.session.headers["Accept"] = "application/vnd.pgrst.object+json"
         else:
             self.session.headers["Accept"] = "application/json"
-        r = self.session.get(urljoin(self.base_uri, path_and_query))
-        r.raise_for_status()
+        res = self.session.get(urljoin(self.base_uri, path_and_query))
+        try:
+            res.raise_for_status()
+        except requests.HTTPError as e:
+            raise type(e)(res.status_code, res.reason, res.text)
+
         if parse_dt:
-            json_result = r.json(object_hook=datetime_parser)
+            json_result = res.json(object_hook=datetime_parser)
         else:
-            json_result = r.json()
+            json_result = res.json()
         return json_result
diff --git a/postgrestutils/settings.py b/postgrestutils/settings.py
index 8bc5fe1..e6cafc4 100644
--- a/postgrestutils/settings.py
+++ b/postgrestutils/settings.py
@@ -1,6 +1,4 @@
-import re
-
-BASE_URI = str()
+BASE_URI = "http://127.0.0.1:3000"
 
 JWT = str()
 
-- 
GitLab