diff --git a/.gitignore b/.gitignore index 33e533b6..61495a87 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .DS_Store # No PyCharm config files .idea/ -venv/ \ No newline at end of file +venv/ +__pycache__ diff --git a/meraki/aio/rest_session.py b/meraki/aio/rest_session.py index fc31a9e0..1f1fc73c 100644 --- a/meraki/aio/rest_session.py +++ b/meraki/aio/rest_session.py @@ -89,6 +89,7 @@ async def request(self, metadata, method, url, **kwargs): return None else: response = None + message = None for _ in range(retries): # Make the HTTP request to the API endpoint try: @@ -154,7 +155,7 @@ async def request(self, metadata, method, url, **kwargs): self._logger.error( f"{tag}, {operation} - {status} {reason}, {message}" ) - raise AsyncAPIError(metadata, response, await response.text()) + raise AsyncAPIError(metadata, response, message) async def get(self, metadata, url, params=None): metadata["method"] = "GET" diff --git a/meraki/exceptions.py b/meraki/exceptions.py index ca9e804a..421f9633 100644 --- a/meraki/exceptions.py +++ b/meraki/exceptions.py @@ -31,12 +31,10 @@ def __init__(self, metadata, response, message): self.response = response self.tag = metadata['tags'][0] self.operation = metadata['operation'] - self.status = self.response.status if self.response is not None and self.response.status else None - self.reason = self.response.reason if self.response is not None and self.response.reason else None - try: - self.message = self.response.json() if self.response is not None and self.response.json() else None - except ValueError: - self.message = self.response.text[:100] + self.status = response.status if response is not None and response.status else None + self.reason = response.reason if response is not None and response.reason else None + self.message = message + super().__init__( f'{self.tag}, {self.operation} - {self.status} {self.reason}, {self.message}' )