def send_sync()

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')