in modular_sdk/services/impl/maestro_signature_builder.py [0:0]
def get_signed_headers(self, async_request: bool = False,
compressed: bool = False) -> dict:
"""
Create and sign necessary headers for interaction with Maestro API
"""
date = int(time.time() * 1000)
signature = hmac.new(
key=bytearray(f'{self._secret_key}{date}'.encode('utf-8')),
msg=bytearray(
f'M3-POST:{self._access_key}:{date}:{self._user}'.encode(
'utf-8')
),
digestmod=hashlib.sha256
).hexdigest()
n = 2
resolved_signature = ''
for each in [signature[i:i + n] for i in range(0, len(signature), n)]:
resolved_signature += '1' + each
return {
"maestro-authentication": resolved_signature,
"maestro-request-identifier": "api-server",
"maestro-user-identifier": self._user,
"maestro-date": str(date),
"maestro-accesskey": str(self._access_key),
"maestro-sdk-version": "3.2.80",
"maestro-sdk-async": 'true' if async_request else 'false',
"compressed": True if compressed else False,
}