From cd1c9731cc306bf8fb11b2ae5c0c0ac7425f634d Mon Sep 17 00:00:00 2001 From: Ramya Vijayan Date: Tue, 10 Sep 2024 21:46:21 -0700 Subject: [PATCH 1/3] LG-4917: Surface X-Request-ID header in SDK errors --- lightspark/requests/requester.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lightspark/requests/requester.py b/lightspark/requests/requester.py index 29ca405..4164e7a 100644 --- a/lightspark/requests/requester.py +++ b/lightspark/requests/requester.py @@ -103,18 +103,22 @@ def execute_graphql( result = r.json() if "errors" in result: errors = result["errors"] + request_id = r.headers.get("X-Request-ID", "Unknown") # Get X-Request-ID from headers + logger.error(f"GraphQL error occurred. Request ID: {request_id}, Errors: {errors}") raise LightsparkException( - "GRAPHQL_ERROR", f"A GraphQL error occurred: {errors}" + "GRAPHQL_ERROR", f"A GraphQL error occurred: {errors}. Request ID: {request_id}" ) # TODO better error handling return result["data"] except requests.HTTPError as e: + request_id = r.headers.get("X-Request-ID", "Unknown") # Get X-Request-ID from headers logger.error("HTTP request error. Status code: %d", r.status_code) - raise LightsparkException("HTTP_ERROR", str(e)) from e + raise LightsparkException("HTTP_ERROR", f"{str(e)}. Request ID: {request_id}") from e except Exception as e: logger.exception(e) try: - logger.error(r.text) + request_id = r.headers.get("X-Request-ID", "Unknown") # Extract X-Request-ID + logger.error(f"Request ID: {request_id}, Response Text: {r.text}") # TODO pylint is right here... let's make it better. except Exception: # pylint: disable=broad-except pass From 3133282046af0f84cc60c7edf86a890b0919cd48 Mon Sep 17 00:00:00 2001 From: Ramya Vijayan Date: Tue, 10 Sep 2024 22:03:06 -0700 Subject: [PATCH 2/3] LG-4917: Surface X-Request-ID header in SDK errors --- lightspark/requests/requester.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lightspark/requests/requester.py b/lightspark/requests/requester.py index 4164e7a..2434285 100644 --- a/lightspark/requests/requester.py +++ b/lightspark/requests/requester.py @@ -104,7 +104,7 @@ def execute_graphql( if "errors" in result: errors = result["errors"] request_id = r.headers.get("X-Request-ID", "Unknown") # Get X-Request-ID from headers - logger.error(f"GraphQL error occurred. Request ID: {request_id}, Errors: {errors}") + logger.error("GraphQL error occurred. Request ID: %s, Errors: %s", request_id, errors) raise LightsparkException( "GRAPHQL_ERROR", f"A GraphQL error occurred: {errors}. Request ID: {request_id}" ) # TODO better error handling @@ -118,7 +118,7 @@ def execute_graphql( try: request_id = r.headers.get("X-Request-ID", "Unknown") # Extract X-Request-ID - logger.error(f"Request ID: {request_id}, Response Text: {r.text}") + logger.error("Request ID: %s, Response Text: %s", request_id, r.text) # TODO pylint is right here... let's make it better. except Exception: # pylint: disable=broad-except pass From 5e1ee20bb0a343ee54d072b0b38fbda3c6ce9f06 Mon Sep 17 00:00:00 2001 From: Ramya Vijayan Date: Tue, 10 Sep 2024 22:07:06 -0700 Subject: [PATCH 3/3] fixing formatting issues --- lightspark/requests/requester.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/lightspark/requests/requester.py b/lightspark/requests/requester.py index 2434285..32fa998 100644 --- a/lightspark/requests/requester.py +++ b/lightspark/requests/requester.py @@ -103,21 +103,34 @@ def execute_graphql( result = r.json() if "errors" in result: errors = result["errors"] - request_id = r.headers.get("X-Request-ID", "Unknown") # Get X-Request-ID from headers - logger.error("GraphQL error occurred. Request ID: %s, Errors: %s", request_id, errors) + request_id = r.headers.get( + "X-Request-ID", "Unknown" + ) # Get X-Request-ID from headers + logger.error( + "GraphQL error occurred. Request ID: %s, Errors: %s", + request_id, + errors, + ) raise LightsparkException( - "GRAPHQL_ERROR", f"A GraphQL error occurred: {errors}. Request ID: {request_id}" + "GRAPHQL_ERROR", + f"A GraphQL error occurred: {errors}. Request ID: {request_id}", ) # TODO better error handling return result["data"] except requests.HTTPError as e: - request_id = r.headers.get("X-Request-ID", "Unknown") # Get X-Request-ID from headers + request_id = r.headers.get( + "X-Request-ID", "Unknown" + ) # Get X-Request-ID from headers logger.error("HTTP request error. Status code: %d", r.status_code) - raise LightsparkException("HTTP_ERROR", f"{str(e)}. Request ID: {request_id}") from e + raise LightsparkException( + "HTTP_ERROR", f"{str(e)}. Request ID: {request_id}" + ) from e except Exception as e: logger.exception(e) try: - request_id = r.headers.get("X-Request-ID", "Unknown") # Extract X-Request-ID + request_id = r.headers.get( + "X-Request-ID", "Unknown" + ) # Extract X-Request-ID logger.error("Request ID: %s, Response Text: %s", request_id, r.text) # TODO pylint is right here... let's make it better. except Exception: # pylint: disable=broad-except