Class: Monokera::SDK::ClientBase

Inherits:
Object
  • Object
show all
Defined in:
lib/monokera/sdk/client_base.rb

Direct Known Subclasses

ActiveClient

Instance Method Summary collapse

Instance Method Details

#configurationObject



15
16
17
# File 'lib/monokera/sdk/client_base.rb', line 15

def configuration
  @configuration ||= self.class.name.deconstantize.gsub(/::V\d$/, '').constantize::Configuration.instance
end

#connectionObject



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/monokera/sdk/client_base.rb', line 27

def connection
  @connection ||= Faraday.new(configuration.host) do |builder|
    builder.request :json
    builder.response :json, content_type: /\bjson$/
    builder.response :custom_logger, Configuration.instance.logger, service_name: configuration.service_name, filter_parameters: filter_parameters
    builder.options[:timeout] = configuration.timeout.to_i
    builder.options[:open_timeout] = configuration.open_timeout.to_i
    builder.use :instrumentation
    builder.use Faraday::RequestId
    builder.use Monokera::SDK::Error::Middleware if raise_error?
    builder.use Monokera::SDK::Middleware::ServiceMiddleware, service_name: configuration.service_name
    builder.adapter Faraday.default_adapter
    builder.headers.merge! connection_headers
  end
end

#connection_headersObject



19
20
21
# File 'lib/monokera/sdk/client_base.rb', line 19

def connection_headers
  {}
end

#filter_parametersObject



23
24
25
# File 'lib/monokera/sdk/client_base.rb', line 23

def filter_parameters
  @filter_parameters ||= default_filter_parameters.dup
end