in modular_sdk/services/impl/maestro_http_transport_service.py [0:0]
def post_process_request(self, response: bytes) -> tuple[int, str, Any]:
signer = MaestroSignatureBuilder(
access_key=self.access_key,
secret_key=self.secret_key,
user=self.user,
)
try:
response_item = signer.decrypt(data=response)
_LOG.debug('Message from M3-server successfully decrypted')
except binascii.Error:
response_item = response.decode('utf-8')
try:
_LOG.debug(f'Raw decrypted message from server: {response_item}')
response_json = json.loads(response_item).get('results')[0]
except json.decoder.JSONDecodeError:
_LOG.error('Response cannot be decoded - invalid JSON string')
raise ModularException(code=502, content="Response can't be decoded")
status = response_json.get('status')
code = response_json.get('statusCode')
if status == SUCCESS_STATUS:
data = response_json.get('data')
else:
data = response_json.get('readableError') or response_json.get('error')
return code, status, data