Skip to content

Commit a0c2f5d

Browse files
bidoubiwaeskombro
authored andcommitted
Improved error handling
1 parent 3ded9a5 commit a0c2f5d

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

meilisearch/_httprequests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,5 +74,5 @@ def __validate(request):
7474
try:
7575
request.raise_for_status()
7676
return HttpRequests.__to_json(request)
77-
except requests.exceptions.HTTPError:
78-
raise MeiliSearchApiError(request.status_code, request.text) from None
77+
except requests.exceptions.HTTPError as err:
78+
raise MeiliSearchApiError(err, request) from None

meilisearch/meilisearch_api_error.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,13 @@
22

33
class MeiliSearchApiError(Exception):
44
"""Error from MeiliSearch API"""
5-
def __init__(self, status_code, text):
6-
self.status_code = status_code
7-
try:
8-
self.message = json.loads(text)["message"]
9-
except:
10-
self.message = None
5+
def __init__(self, error, request):
6+
self.status_code = request.status_code
7+
if request.text:
8+
self.message = f'HTTP status: {self.status_code} -> {json.loads(request.text)["message"]}'
9+
else:
10+
self.message = error
1111
super().__init__(self.message)
1212

1313
def __str__(self):
14-
if self.message is not None:
15-
message = f'-> {self.message}'
16-
return f'HTTP status: {self.status_code} {message}'
14+
return f'MeiliSearchApiError, {self.message}'

meilisearch/meilisearch_communication_error.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,6 @@ class MeiliSearchCommunicationError(Exception):
33
def __init__(self, message):
44
self.message = message
55
super().__init__(self.message)
6+
7+
def __str__(self):
8+
return f'MeiliSearchCommunicationError, {self.message}'

0 commit comments

Comments
 (0)