Sha256: 483a69ef6822bac08ce221b61ba7a85c4b4d6c9186cf15047a806e08b5fc4625

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

require 'faraday_middleware'
Dir[File.expand_path('../../faraday/*.rb', __FILE__)].each{|f| require f}

module Formi9
  module Connection

    private

    def connection
      options = {
        headers: {
          "Accept" => "application/#{format}; charset=utf-8",
          "User-Agent" => Formi9.user_agent,
        },
        proxy: proxy,
        url: endpoint,
        ssl: { verify: ssl_verify }
      }.merge(connection_options)

      Faraday::Connection.new(options) do |conn|
        conn.authorization :Bearer, access_token
        # https://github.com/lostisland/faraday/issues/417#issuecomment-223413386
        conn.options[:timeout] = timeout
        conn.options[:open_timeout] = open_timeout
        conn.request :json

        conn.use FaradayMiddleWare::RaiseFormi9HttpException
        conn.request :retry, max: 3, interval: 0.1, exceptions: [Errno::ECONNREFUSED, Faraday::ConnectionFailed]
        conn.response :json, content_type: /\bjson$/
        conn.adapter Faraday.default_adapter
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
formi9-0.1.8 lib/formi9/connection.rb
formi9-0.1.7 lib/formi9/connection.rb