Sha256: ddb53aa3526819a8854e9225f01ad8df4777c6aacc297e1c0ce71fdd7ac211fb

Contents?: true

Size: 960 Bytes

Versions: 4

Compression:

Stored size: 960 Bytes

Contents

require 'faraday_middleware/parse_oj'

module AvaTax

  module Connection
    private

    def connection
      client_id = "#{app_name};#{app_version};RubySdk;#{AvaTax::VERSION.dup};#{machine_name}"
      options = {
        :headers =>
          {
           'Accept' => "application/json; charset=utf-8",
           'User-Agent' => user_agent,
           'X-Avalara-Client' => client_id
          },
        :url => endpoint,
        :proxy => proxy,
      }.merge(connection_options)

      Faraday.new(options) do |faraday|
        Oj.default_options = {
          bigdecimal_load: :bigdecimal
        }

        faraday.response :oj, content_type: /\bjson$/
        faraday.basic_auth(username, password)

        if logger
          faraday.response :logger do |logger|
            logger.filter(/(Authorization\:\ \"Basic\ )(\w+)\=/, '\1[REMOVED]')
          end
        end

        faraday.adapter Faraday.default_adapter
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
avatax-17.12.0 lib/avatax/connection.rb
avatax-17.9.1 lib/avatax/connection.rb
avatax-17.8.1 lib/avatax/connection.rb
avatax-17.7.3 lib/avatax/connection.rb