def _query(function,
           consul_url,
           token=None,
           method='GET',
           api_version='v1',
           data=None,
           query_params=None):
    '''
    Consul object method function to construct and execute on the API URL.

    :param api_url:     The Consul api url.
    :param api_version  The Consul api version
    :param function:    The Consul api function to perform.
    :param method:      The HTTP method, e.g. GET or POST.
    :param data:        The data to be sent for POST method. This param is ignored for GET requests.
    :return:            The json response from the API call or False.
    '''

    if not query_params:
        query_params = {}

    ret = {'data': '',
           'res': True}

    if not token:
        token = _get_token()

    headers = {"X-Consul-Token": token, "Content-Type": "application/json"}
    base_url = urllib.parse.urljoin(consul_url, '{0}/'.format(api_version))
    url = urllib.parse.urljoin(base_url, function, False)

    if method == 'GET':
        data = None
    else:
        if data is None:
            data = {}
        data = salt.utils.json.dumps(data)

    result = salt.utils.http.query(
        url,
        method=method,
        params=query_params,
        data=data,
        decode=True,
        status=True,
        header_dict=headers,
        opts=__opts__,
    )

    if result.get('status', None) == http_client.OK:
        ret['data'] = result.get('dict', result)
        ret['res'] = True
    elif result.get('status', None) == http_client.NO_CONTENT:
        ret['res'] = False
    elif result.get('status', None) == http_client.NOT_FOUND:
        ret['data'] = 'Key not found.'
        ret['res'] = False
    else:
        if result:
            ret['data'] = result
            ret['res'] = True
        else:
            ret['res'] = False
    return ret
def _query ( function , consul_url , token = None , method = 'GET' , api_version = 'v1' , data = None , query_params = None ) : if not query_params : query_params = { } ret = { 'data' : '' , 'res' : True } if not token : token = _get_token ( ) headers = { "X-Consul-Token" : token , "Content-Type" : "application/json" } base_url = urllib . parse . urljoin ( consul_url , '{0}/' . format ( api_version ) ) url = urllib . parse . urljoin ( base_url , function , False ) if method == 'GET' : data = None else : if data is None : data = { } data = salt . utils . json . dumps ( data ) result = salt . utils . http . query ( url , method = method , params = query_params , data = data , decode = True , status = True , header_dict = headers , opts = __opts__ , ) if result . get ( 'status' , None ) == http_client . OK : ret [ 'data' ] = result . get ( 'dict' , result ) ret [ 'res' ] = True elif result . get ( 'status' , None ) == http_client . NO_CONTENT : ret [ 'res' ] = False elif result . get ( 'status' , None ) == http_client . NOT_FOUND : ret [ 'data' ] = 'Key not found.' ret [ 'res' ] = False else : if result : ret [ 'data' ] = result ret [ 'res' ] = True else : ret [ 'res' ] = False return ret
Consul object method function to construct and execute on the API URL.

    :param api_url:     The Consul api url.
    :param api_version  The Consul api version
    :param function:    The Consul api function to perform.
    :param method:      The HTTP method, e.g. GET or POST.
    :param data:        The data to be sent for POST method. This param is ignored for GET requests.
    :return:            The json response from the API call or False.