diff --git a/src/sbom_dt_dd.py b/src/sbom_dt_dd.py index 058ce2c..58217ad 100644 --- a/src/sbom_dt_dd.py +++ b/src/sbom_dt_dd.py @@ -17,12 +17,13 @@ import dependencytrack_api from dependencytrack_api.rest import ApiException as DependencyTrackApiException class ApiException(Exception): - def __init__(self, status, reason, body, data, headers): - self.status = status - self.reason = reason - self.body = body - self.data = data - self.headers = None + def __init__(self, cause): + self.cause = cause + self.status = cause.status + self.reason = cause.reason + self.body = cause.body + self.data = cause.data + self.headers = cause.headers class ApiCallExecutor: def __init__(self, verbose): @@ -50,7 +51,7 @@ class DefectDojoApiClient(defectdojo_api.ApiClient, ApiCallExecutor): try: return self.innerExecuteApiCall(ApiClass, EndpointMethod, RequestClass, requestParams, additionalParams) except defectdojo_api.exceptions.ApiException as e: - raise ApiException(e.status, e.reason, e.body, e.data, e.headers) + raise ApiException(e) class DependencyTrackApiClient(dependencytrack_api.ApiClient, ApiCallExecutor): def __init__(self, config, verbose): @@ -61,7 +62,7 @@ class DependencyTrackApiClient(dependencytrack_api.ApiClient, ApiCallExecutor): try: return self.innerExecuteApiCall(ApiClass, EndpointMethod, RequestClass, requestParams, additionalParams) except dependencytrack_api.exceptions.ApiException as e: - raise ApiException(e.status, e.reason, e.body, e.data, e.headers) + raise ApiException(e) diff --git a/src/sbom_dt_dd_api.py b/src/sbom_dt_dd_api.py index 58fae05..5e22543 100644 --- a/src/sbom_dt_dd_api.py +++ b/src/sbom_dt_dd_api.py @@ -49,11 +49,11 @@ async def uploadMinimalSBOM( logger.warning(f"uploadMinimalSBOM, yaml ScannerError: {e.context=}, {e.context_mark=}, {e.problem=}, {e.problem_mark=}, {e.note=}") raise HTTPException(status_code=400, detail=f"yaml ScannerError: {e.context=}, {e.context_mark=}, {e.problem=}, {e.problem_mark=}, {e.note=}") except ApiException as e: - logger.warning(f"uploadMinimalSBOM, ApiException: {e.status=}, {e.reason=}, {e.body=}") + logger.warning(f"uploadMinimalSBOM, ApiException: {type(e.cause)=}, {e.status=}, {e.reason=}, {e.body=}") raise HTTPException(status_code=e.status, detail=f"{e.reason=}, {e.body=}, {e.data=}") except Exception as e: - logger.warning(f"uploadMinimalSBOM, Exception: {type(e)=}, {str(e)=}, {e.msg=}") - raise HTTPException(status_code=500, detail=f"Exception: {type(e)=}, {str(e)=}, {e.msg=}") + logger.warning(f"uploadMinimalSBOM, Exception: {type(e)=}, {str(e)=}") + raise HTTPException(status_code=500, detail=f"Exception: {type(e)=}, {str(e)=}") return JSONResponse(content={ "message": "Upload successful!" @@ -83,11 +83,11 @@ async def uploadSBOM( logger.warning(f"uploadSBOM, JSONDecodeError: {e.msg=}") raise HTTPException(status_code=400, detail=f"JSON decoding error: {e.msg=}, {e.doc=}, {e.pos=}, {e.lineno=}, {e.colno=}") except ApiException as e: - logger.warning(f"uploadSBOM, ApiException: {e.status=}, {e.reason=}, {e.body=}") + logger.warning(f"uploadSBOM, ApiException: {type(e.cause)=}, {e.status=}, {e.reason=}, {e.body=}") raise HTTPException(status_code=e.status, detail=f"{e.reason=}, {e.body=}, {e.data=}") except Exception as e: - logger.warning(f"uploadSBOM, Exception: {type(e)=}, {str(e)=}, {e.msg=}") - raise HTTPException(status_code=500, detail=f"Exception: {type(e)=}, {str(e)=}, {e.msg=}") + logger.warning(f"uploadSBOM, Exception: {type(e)=}, {str(e)=}") + raise HTTPException(status_code=500, detail=f"Exception: {type(e)=}, {str(e)=}") return JSONResponse(content={ "message": "Upload successful!"