class Faraday::Connection

def initialize(url = nil, options = nil)

:password - String (optional)
:user - String (optional)
:uri - URI or String
(default: "http_proxy" environment variable).
:proxy - URI, String or Hash of HTTP proxy options
:ssl - Hash of SSL options.
:request - Hash of request options.
:headers - Hash of unencoded HTTP header key/value pairs.
:params - Hash of URI query unencoded key/value pairs.
:url - URI or String base URL (default: "http:/").
options - Hash or Faraday::ConnectionOptions.
requests (optional).
url - URI or String base URL to use as a prefix for all

Public: Initializes a new Faraday::Connection.
def initialize(url = nil, options = nil)
  options = ConnectionOptions.from(options)
  if url.is_a?(Hash) || url.is_a?(ConnectionOptions)
    options = options.merge(url)
    url     = options.url
  end
  @parallel_manager = nil
  @headers = Utils::Headers.new
  @params  = Utils::ParamsHash.new
  @options = options.request
  @ssl = options.ssl
  @default_parallel_manager = options.parallel_manager
  @builder = options.builder || begin
    # pass an empty block to Builder so it doesn't assume default middleware
    options.new_builder(block_given? ? Proc.new { |b| } : nil)
  end
  self.url_prefix = url || 'http:/'
  @params.update(options.params)   if options.params
  @headers.update(options.headers) if options.headers
  @proxy = options.proxy ? ProxyOptions.from(options.proxy) : proxy_from_env(url)
  @temp_proxy = @proxy
  yield(self) if block_given?
  @headers[:user_agent] ||= "Faraday v#{VERSION}"
end