in modular_sdk/services/impl/maestro_rabbit_transport_service.py [0:0]
def post_process_request(self, response: bytes) -> tuple[int, str, Any]:
# TODO post process does not accept config whereas pre process accepts
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('Received and decrypted message from server')
response_json = json.loads(response_item).get('results')[0]
except json.decoder.JSONDecodeError:
_LOG.error('Response can not 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