From a0b6083d4e4c1fad4f686497d3677aece0155368 Mon Sep 17 00:00:00 2001 From: Andrew Potozniak Date: Fri, 1 Aug 2025 14:30:30 -0400 Subject: [PATCH] Slightly better error handling for non 200 status codes from Gateway. (#7038) * Slightly better error handling for non 200 status codes from Gateway. * Apply suggestion from @chrismeyersfsu Co-authored-by: Chris Meyers --------- Co-authored-by: Chris Meyers --- awx/main/utils/gateway_client.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/awx/main/utils/gateway_client.py b/awx/main/utils/gateway_client.py index 8ae72cd36b..dad1641553 100644 --- a/awx/main/utils/gateway_client.py +++ b/awx/main/utils/gateway_client.py @@ -464,17 +464,18 @@ class GatewayClient: # Return the specific setting value or None if not found return settings_data.get(setting_name) else: - error_msg = f"Failed to get Gateway settings. Status: {response.status_code}" + error_msg = f"Failed to get Gateway settings from '{endpoint}' for '{setting_name}'. Status: {response.status_code}" + error_data = response.text try: error_data = response.json() error_msg += f", Error: {error_data}" except requests.exceptions.JSONDecodeError: error_msg += f", Response: {response.text}" - raise GatewayAPIError(error_msg, response.status_code, response.json() if response.content else None) + raise GatewayAPIError(error_msg, response.status_code, error_data) except requests.RequestException as e: - raise GatewayAPIError(f"Failed to get Gateway setting: {str(e)}") + raise GatewayAPIError(f"Failed to get Gateway settings from '{endpoint}' for '{setting_name}'. Unexpected Exception - Error: {str(e)}") def get_base_url(self) -> str: """Get the base URL of the Gateway instance.