require 'faraday_middleware' require 'faraday/request/gateway' require 'faraday/response/fullcontact_errors' module FullContact # @private module Connection private 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 Faraday::Response::Rashify unless raw 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 end end