def api_handler(input_data, cloud, api, url_params=None, batch_size=None, **kwargs):
    """
    Sends finalized request data to ML server and receives response.
    If a batch_size is specified, breaks down a request into smaller
    component requests and aggregates the results.
    """
    url_params = url_params or {}
    input_data = standardize_input_data(input_data)

    cloud = cloud or config.cloud
    host = "%s.indico.domains" % cloud if cloud else config.host

    # LOCAL DEPLOYMENTS
    if not (host.endswith('indico.domains') or host.endswith('indico.io')):
        url_protocol = "http"
    else:
        url_protocol = config.url_protocol

    headers = dict(JSON_HEADERS)
    headers["X-ApiKey"] = url_params.get("api_key") or config.api_key
    url = create_url(url_protocol, host, api, dict(kwargs, **url_params))
    return collect_api_results(input_data, url, headers, api, batch_size, kwargs)
def api_handler ( input_data , cloud , api , url_params = None , batch_size = None , ** kwargs ) : url_params = url_params or { } input_data = standardize_input_data ( input_data ) cloud = cloud or config . cloud host = "%s.indico.domains" % cloud if cloud else config . host if not ( host . endswith ( 'indico.domains' ) or host . endswith ( 'indico.io' ) ) : url_protocol = "http" else : url_protocol = config . url_protocol headers = dict ( JSON_HEADERS ) headers [ "X-ApiKey" ] = url_params . get ( "api_key" ) or config . api_key url = create_url ( url_protocol , host , api , dict ( kwargs , ** url_params ) ) return collect_api_results ( input_data , url , headers , api , batch_size , kwargs )
Sends finalized request data to ML server and receives response.
    If a batch_size is specified, breaks down a request into smaller
    component requests and aggregates the results.