Skip to content

Commit 75644d4

Browse files
committed
print http response body if error
1 parent 0df1407 commit 75644d4

File tree

2 files changed

+32
-3
lines changed

2 files changed

+32
-3
lines changed

netfoundry/network.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,14 @@ def patch_resource(self, patch: dict, type: str = None, id: str = None, wait: in
458458
headers=headers,
459459
json=pruned_patch
460460
)
461+
if after_response.status_code in range(400, 600):
462+
self.logger.debug(
463+
'%s\n%s %s\r\n%s\r\n\r\n%s',
464+
'-----------RESPONSE-----------',
465+
after_response.status_code, after_response.reason,
466+
'\r\n'.join('{}: {}'.format(k, v) for k, v in after_response.headers.items()),
467+
after_response.text
468+
)
461469
after_response.raise_for_status() # raise any gross errors immediately
462470
after_response_code = after_response.status_code
463471
if after_response_code in [STATUS_CODES.codes.OK, STATUS_CODES.codes.ACCEPTED]:

netfoundry/utility.py

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -322,12 +322,17 @@ def create_generic_resource(setup: object, url: str, body: dict, headers: dict =
322322
if response.status_code in range(400, 600):
323323
req = response.request
324324
setup.logger.debug(
325-
'%s\n%s\r\n%s\r\n\r\n%s',
326-
'-----------START-----------',
325+
'%s\n%s\r\n%s\r\n\r\n%s\n%s\n%s %s\r\n%s\r\n\r\n%s',
326+
'-----------REQUEST-----------',
327327
req.method + ' ' + req.url,
328328
'\r\n'.join('{}: {}'.format(k, v) for k, v in req.headers.items()),
329-
req.body
329+
req.body,
330+
'-----------RESPONSE-----------',
331+
response.status_code, response.reason,
332+
'\r\n'.join('{}: {}'.format(k, v) for k, v in response.headers.items()),
333+
response.text
330334
)
335+
setup.logger.error(f"HTTP {response.status_code} error response body: {response.text}")
331336
response.raise_for_status()
332337
resource = response.json()
333338

@@ -388,6 +393,14 @@ def get_generic_resource_by_url(setup: object, url: str, headers: dict = dict(),
388393
try:
389394
response.raise_for_status()
390395
except HTTPError:
396+
if response.status_code in range(400, 600):
397+
setup.logger.debug(
398+
'%s\n%s %s\r\n%s\r\n\r\n%s',
399+
'-----------RESPONSE-----------',
400+
response.status_code, response.reason,
401+
'\r\n'.join('{}: {}'.format(k, v) for k, v in response.headers.items()),
402+
response.text
403+
)
391404
if resource_type.name in ["process-executions"] and status_symbol == "FORBIDDEN": # FIXME: MOP-18095 workaround the create network process ID mismatch bug
392405
url_parts = urlparse(url)
393406
path_parts = url_parts.path.split('/')
@@ -483,6 +496,14 @@ def find_generic_resources(setup: object, url: str, headers: dict = dict(), embe
483496
proxies=setup.proxies,
484497
verify=setup.verify,
485498
)
499+
if response.status_code in range(400, 600):
500+
setup.logger.debug(
501+
'%s\n%s %s\r\n%s\r\n\r\n%s',
502+
'-----------RESPONSE-----------',
503+
response.status_code, response.reason,
504+
'\r\n'.join('{}: {}'.format(k, v) for k, v in response.headers.items()),
505+
response.text
506+
)
486507
response.raise_for_status()
487508
resource_page = response.json()
488509

0 commit comments

Comments
 (0)