diff --git a/src/cryptocom/exchange/api.py b/src/cryptocom/exchange/api.py index 1d9442c..3506e40 100644 --- a/src/cryptocom/exchange/api.py +++ b/src/cryptocom/exchange/api.py @@ -4,6 +4,7 @@ import json import os import random +import ssl import time from urllib.parse import urljoin @@ -223,6 +224,7 @@ async def request(self, method, path, params=None, data=None, sign=False): except ( asyncio.TimeoutError, httpx.HTTPError, + ssl.SSLError, json.JSONDecodeError, ) as exc: if count == self.retries: @@ -236,7 +238,10 @@ async def request(self, method, path, params=None, data=None, sign=False): if resp_json["code"] == 0: result = resp_json.get("result", {}) - return result.get("data", {}) or result + result = result.get("data", {}) or result + if result is None: + continue + return result if count == self.retries: raise ApiError(