def initialize(proxy = nil)
    require 'net/http'
    require 'stringio'
    require 'time'
    require 'uri'

    Socket.do_not_reverse_lookup = true

    @connections = {}
    @requests = Hash.new 0
    @proxy_uri =
      case proxy
      when :no_proxy then nil
      when nil then get_proxy_from_env
      when URI::HTTP then proxy
      else URI.parse(proxy)
      end
    @user_agent = user_agent
  end
#
Initialize a remote fetcher using the source URI and possible proxy
information.

+proxy+
* [String]: explicit specification of proxy; overrides any environment
variable setting
* nil: respect environment variables (HTTP_PROXY, HTTP_PROXY_USER,
HTTP_PROXY_PASS)
* <tt>:no_proxy</tt>: ignore environment variables and _don't_ use a proxy