def rest_request(verb, path, connect_options, request_options, used)
      result, code, body, headers = @balancer.request do |host|
        uri = URI.parse(host)
        uri.user = uri.password = nil
        used[:host] = uri.to_s
        @http_client.request(verb, path, host, connect_options, request_options)
      end
      [result, code, body, headers]
    end
def rest_request(verb, path, connect_options, request_options, used)
      result, code, body, headers = @balancer.request do |host|
        uri = URI.parse(host)
        uri.user = uri.password = nil
        used[:host] = uri.to_s
        @http_client.request(verb, path, host, connect_options, request_options)
      end
      [result, code, body, headers]
    end
Make REST request

 @param [Symbol] verb for HTTP REST request
 @param [String] path in URI for desired resource
 @param [Hash] connect_options for HTTP connection
 @param [Hash] request_options for HTTP request
 @param [Hash] used container for returning :host used for request;
   needed so that can return it even when the request fails with an exception

 @return [Array] result to be returned followed by response code, body, and headers

 @raise [NotResponding] server not responding, recommend retry
 @raise [HttpException] HTTP failure with associated status code