Skip to content

Commit 3350998

Browse files
committed
Always handle json server response the same way whatever the content-type
1 parent 2b6955d commit 3350998

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

mergin/client.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -205,17 +205,11 @@ def _do_request(self, request):
205205
try:
206206
return self.opener.open(request)
207207
except urllib.error.HTTPError as e:
208-
server_code = None
209-
server_response = None
210-
if e.headers.get("Content-Type", "") == "application/json":
211-
server_response = json.load(e)
212-
err_detail = server_response.get("detail")
213-
server_code = server_response.get("code")
214-
elif e.headers.get("Content-Type", "") == "application/problem+json":
215-
server_response = json.load(e)
216-
err_detail = server_response.get("detail")
217-
else:
218-
err_detail = e.read().decode("utf-8")
208+
server_response = json.load(e)
209+
210+
# We first to try to get the value from the response otherwise we set a default value
211+
err_detail = server_response.get("detail", e.read().decode("utf-8"))
212+
server_code = server_response.get("code", None)
219213

220214
raise ClientError(
221215
detail=err_detail,

0 commit comments

Comments
 (0)