Sha256: da8d5252338dcd9513489c95da49f05455528c0d33aad677795f0791d595c104

Contents?: true

Size: 1.03 KB

Versions: 3

Compression:

Stored size: 1.03 KB

Contents

module Faraday
  class Connection
    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]     || {}
      adapter  = options[:adapter]

      @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?

      if adapter
        self.adapter = adapter
      end
    end

    def_delegators :builder, :adapter=
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
leadlight-0.1.0 lib/leadlight/lib_ext/faraday/connection.rb
leadlight-0.0.7 lib/leadlight/lib_ext/faraday/connection.rb
leadlight-0.0.6 lib/leadlight/lib_ext/faraday/connection.rb