class Bundler::Persistent::Net::HTTP::Persistent

def request uri, req = nil, &block

def request uri, req = nil, &block
  uri      = Bundler::URI uri
  req      = request_setup req || uri
  response = nil
  connection_for uri do |connection|
    http = connection.http
    begin
      connection.requests += 1
      response = http.request req, &block
      if req.connection_close? or
        (response.http_version <= '1.0' and
          not response.connection_keep_alive?) or
          response.connection_close? then
        finish connection
      end
    rescue Exception # make sure to close the connection when it was interrupted
      finish connection
      raise
    ensure
      connection.last_use = Time.now
    end
  end
  @http_versions["#{uri.hostname}:#{uri.port}"] ||= response.http_version
  response
end