class Faraday::Connection
def initialize(url = nil, options = nil)
: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