in modular_sdk/services/impl/maestro_http_transport_service.py [0:0]
def send_sync(self, command_name: str, parameters: list[dict] | dict,
secure_parameters: list | None = None,
is_flat_request: bool = False, async_request: bool = False,
compressed: bool = False, config=None
) -> tuple[int, str, Any]:
_LOG.debug('Making sync http request ')
message, headers = self.pre_process_request(
command_name=command_name,
parameters=parameters,
secure_parameters=secure_parameters,
is_flat_request=is_flat_request,
async_request=async_request,
compressed=compressed,
config=config
)
req = urllib.request.Request(
url=self.api_link, headers=headers, data=message, method='POST',
)
try:
with urllib.request.urlopen(req, timeout=self.timeout) as response:
_LOG.debug(
f'Response status code: {response.getcode()}, reason: {response.reason}')
return self.post_process_request(response.read())
except urllib.error.HTTPError as e:
raise ModularException(code=e.getcode(), content=e.read().decode())
except urllib.error.URLError as e:
_LOG.exception('Cannot make a request')
raise ModularException(code=502,
content='Could not make the request')