Module: Cpro::Connection

Defined in:
lib/cpro/connection.rb

Class Method Summary collapse

Class Method Details

.build(configuration, token_provider, base_path) ⇒ Object

Middlewares ordering matters here



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/cpro/connection.rb', line 6

def self.build(configuration, token_provider, base_path)
  Faraday.new(url: "#{configuration.api_host}#{base_path}/") do |faraday|
    faraday.request :json
    faraday.use Middleware::Authentication, token_provider: token_provider
    faraday.use Middleware::RaiseError
    faraday.response :json, content_type: /\bjson$/
    faraday.response :logger, configuration.logger if configuration.logger
    faraday.options.timeout = configuration.timeout
    faraday.options.open_timeout = configuration.open_timeout
    faraday.adapter configuration.adapter
  end
end