# File lib/faraday/connection.rb, line 21
    def initialize(url = nil, options = {})
      if url.is_a?(Hash)
        options = url
        url     = options[:url]
      end
      @headers = Utils::Headers.new
      @params  = Utils::ParamsHash.new
      @options = options[:request] || {}
      @ssl     = options[:ssl]     || {}

      @parallel_manager = nil
      @default_parallel_manager = options[:parallel_manager]

      @builder = options[:builder] || begin
        # pass an empty block to Builder so it doesn't assume default middleware
        block = block_given?? Proc.new {|b| } : nil
        Builder.new(&block)
      end

      self.url_prefix = url || 'http:/'

      @params.update options[:params]   if options[:params]
      @headers.update options[:headers] if options[:headers]

      @proxy = nil
      proxy(options.fetch(:proxy) { ENV['http_proxy'] })

      yield self if block_given?
    end