class RuboCop::RemoteConfig

def request(uri = @uri, limit = 10, &block)

def request(uri = @uri, limit = 10, &block)
  raise ArgumentError, 'HTTP redirect too deep' if limit.zero?
  http = Net::HTTP.new(uri.hostname, uri.port)
  http.use_ssl = true if uri.instance_of? URI::HTTPS
  request = Net::HTTP::Get.new(uri.request_uri)
  if cache_path_exists?
    request['If-Modified-Since'] = File.stat(cache_path).mtime.rfc2822
  end
  handle_response(http.request(request), limit, &block)
rescue SocketError => err
  handle_response(err, limit, &block)
end