From 1281157d933c28ff18dd000b9598919c192ab7ca Mon Sep 17 00:00:00 2001 From: Stepan Vladovskiy Date: Wed, 14 May 2025 14:42:40 -0300 Subject: [PATCH] feat: check before parse graphQL --- services/schema.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/services/schema.py b/services/schema.py index 8137bd64..c38904b9 100644 --- a/services/schema.py +++ b/services/schema.py @@ -29,12 +29,19 @@ async def request_graphql_data(gql, url=AUTH_URL, headers=None): async with httpx.AsyncClient() as client: response = await client.post(url, json=gql, headers=headers) if response.status_code == 200: - data = response.json() - errors = data.get("errors") - if errors: - logger.error(f"{url} response: {data}") + # Check if the response has content before parsing + if response.content and len(response.content.strip()) > 0: + try: + data = response.json() + errors = data.get("errors") + if errors: + logger.error(f"{url} response: {data}") + else: + return data + except Exception as json_err: + logger.error(f"JSON decode error: {json_err}, Response content: {response.text[:100]}") else: - return data + logger.error(f"{url}: Response is empty") else: logger.error(f"{url}: {response.status_code} {response.text}") except Exception as _e: