module FullContact::Connection

@private

Private Instance Methods

connection(raw=false, faraday_options={}) click to toggle source
# File lib/fullcontact/connection.rb, line 14
def connection(raw=false, faraday_options={})
  options = {
      :headers => {'Accept' => "application/#{format}", 'User-Agent' => user_agent},
      :proxy => proxy,
      :ssl => {:verify => false},
      :url => api_endpoint,
  }.merge(faraday_options)

  Faraday.new(options) do |builder|
    builder.use Faraday::Request::UrlEncoded
    builder.use Faraday::Request::Gateway, gateway if gateway
    builder.use FaradayMiddleware::Mashify unless raw
    builder.use Faraday::Response::AddHeaders if FullContact.include_headers_in_response
    builder.use Faraday::Response::Rubyize unless raw or FullContact.skip_rubyize
    unless raw
      case format.to_s.downcase
        when 'json'
          builder.use Faraday::Response::ParseJson
      end
    end
    builder.use Faraday::Response::FullContactErrors
    builder.adapter Faraday.default_adapter
  end
end