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
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) {
uri = ENV['http_proxy']
if uri && !uri.empty?
uri = 'http://' + uri if uri !~ /^http/i
uri
end
})
yield self if block_given?
@headers[:user_agent] ||= "Faraday v#{VERSION}"
end