def perform_request
      Timeout.timeout(request_timeout) do
        options = { read_timeout: request_timeout }

        if basic_auth_options.any?
          options[:http_basic_authentication] = basic_auth_options
        end

        url.read(options)
      end
    rescue => e
      raise ConnectionFailed, e
    end
def perform_request
      Timeout.timeout(request_timeout) do
        options = { read_timeout: request_timeout }

        if basic_auth_options.any?
          options[:http_basic_authentication] = basic_auth_options
        end

        url.read(options)
      end
    rescue => e
      raise ConnectionFailed, e
    end
Public: Actually performs the request against the URL.
 Returns response body if the request was successful.
 Otherwise raises a HttpCheck::ConnectionFailed error.