Return a connection from the pool and perform an HTTP request.
    :param con_pool:
        is the http connection pool associated with the service
    :param method:
        HTTP request method (such as GET, POST, PUT, etc.)
    :param host:
        the url of the server host.
    :param headers:
        headers to include with the request
    :param body:
        the POST, PUT, PATCH body of the request

def get_live_url(con_pool,
                 method,
                 host,
                 url,
                 headers,
                 retries=1,
                 redirect=True,
                 body=None,
                 service_name=None):
    """
    Return a connection from the pool and perform an HTTP request.
    :param con_pool:
        is the http connection pool associated with the service
    :param method:
        HTTP request method (such as GET, POST, PUT, etc.)
    :param host:
        the url of the server host.
    :param headers:
        headers to include with the request
    :param body:
        the POST, PUT, PATCH body of the request
    """

    timeout = con_pool.timeout.read_timeout
    start_time = time.time()

    response = con_pool.urlopen(method, url, body=body,
                                headers=headers, redirect=redirect,
                                retries=retries, timeout=timeout)
    request_time = time.time() - start_time
    rest_request.send(sender='restclients',
                      url=url,
                      request_time=request_time,
                      hostname=socket.gethostname(),
                      service_name=service_name)
    rest_request_passfail.send(sender='restclients',
                               url=url,
                               success=True,
                               hostname=socket.gethostname(),
                               service_name=service_name)

    return response