def send_request()

in src/data_load/load.py [0:0]


def send_request(request_data):
    # loop for implementing retries send process
    retries = config.getint("CONNECTION", "retries")
    for retry in range(retries):
        try:
            headers = get_headers(config)
            # send batch request for creating records
            response = requests.post(WORKFLOW_URL, json.dumps(request_data),
                                     headers=headers)

            if response.status_code in DATA_LOAD_OK_RESPONSE_CODES:
                workflow_response = response.json()
                logger.debug(f"Response: {workflow_response}")
                logger.info(f"Workflow Submitted: {workflow_response.get('runId')}")
                file_logger.info(f"{workflow_response.get('runId')}")
                break

            reason = response.text[:250]
            logger.error(f"Request error.")
            logger.error(f"Response status: {response.status_code}. "
                         f"Response content: {reason}.")

            if retry + 1 < retries:
                if response.status_code in BAD_TOKEN_RESPONSE_CODES:
                    logger.error(
                        f"Error in Request: {headers.get('correlation-id')})")
                else:
                    time_to_sleep = config.getint("CONNECTION", "timeout")

                    logger.info(f"Retrying in {time_to_sleep} seconds...")
                    time.sleep(time_to_sleep)

        except (requests.RequestException, HTTPError) as exc:
            logger.error(f"Unexpected request error. Reason: {exc}")
            sys.exit(2)