From c7ddf1d45fbd2fb35d599fcc27bbd1798beab162 Mon Sep 17 00:00:00 2001 From: DJP Date: Wed, 26 Nov 2025 16:26:15 -0500 Subject: [PATCH] Add verbose logging for all DAM API requests --- Python-Version/scripts/shared/dam_client.py | 38 +++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/Python-Version/scripts/shared/dam_client.py b/Python-Version/scripts/shared/dam_client.py index 52ca852..1825898 100644 --- a/Python-Version/scripts/shared/dam_client.py +++ b/Python-Version/scripts/shared/dam_client.py @@ -238,6 +238,32 @@ class DAMClient: def _make_api_request(self, method, url, **kwargs): """Make API request with appropriate authentication""" + # Verbose logging for all DAM API calls + logger.info("=" * 80) + logger.info("DAM API REQUEST") + logger.info(" Method: {}".format(method)) + logger.info(" URL: {}".format(url)) + + # Log headers (sanitize auth tokens) + headers = kwargs.get('headers', {}) + if headers: + sanitized_headers = headers.copy() + if 'Authorization' in sanitized_headers: + sanitized_headers['Authorization'] = 'Bearer ***REDACTED***' + logger.info(" Headers: {}".format(sanitized_headers)) + + # Log request body/data if present + if 'json' in kwargs: + logger.info(" JSON Payload: {}".format(kwargs['json'])) + elif 'data' in kwargs: + logger.info(" Data Payload: {}".format(kwargs['data'])) + + # Log query params if present + if 'params' in kwargs: + logger.info(" Query Params: {}".format(kwargs['params'])) + + logger.info("=" * 80) + if self.auth_mode == 'mtls': # Legacy mTLS (APIM) with pfx_to_pem(self.mtls_cert_path, self.mtls_cert_password) as cert: @@ -250,9 +276,13 @@ class DAMClient: if 'cookies' not in kwargs: kwargs['cookies'] = {} kwargs['cookies']['OTDSTicket'] = self.session_token - return session.request( + response = session.request( method, url, timeout=kwargs.pop('timeout', self.timeout), **kwargs ) + + # Log response status + logger.info("DAM API RESPONSE: {} - Status: {}".format(url, response.status_code)) + return response else: # OAuth2 (Standard) OR mTLS V2 (Hybrid) @@ -263,13 +293,17 @@ class DAMClient: kwargs['headers'] = {} kwargs['headers']['Authorization'] = 'Bearer {}'.format(token) - return requests.request( + response = requests.request( method, url, verify=False, # Disable SSL verification for OAuth/Hybrid timeout=kwargs.pop('timeout', self.timeout), **kwargs ) + + # Log response status + logger.info("DAM API RESPONSE: {} - Status: {}".format(url, response.status_code)) + return response def search_campaigns(self, status=None, campaign_type='Local Adaptation'): """