Class: EMIS::Configuration

Inherits:
Common::Client::Configuration::SOAP show all
Defined in:
lib/emis/configuration.rb

Overview

Configuration for Service includes SSL options and the configured Faraday object

Instance Attribute Summary

Attributes inherited from Common::Client::Configuration::Base

#base_request_headers, #open_timeout, #read_timeout, #request_types, #user_agent

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Common::Client::Configuration::SOAP

#ssl_cert, #ssl_key

Methods inherited from Common::Client::Configuration::Base

#base_path, #breakers_error_threshold, #breakers_exception_handler, #breakers_matcher, #breakers_service, #create_new_breakers_service, #request_options, #service_exception, #service_name

Class Method Details

.ssl_cert_pathString

EMIS SSL certificate path

Returns:

  • (String)

    EMIS SSL certificate path



20
21
22
# File 'lib/emis/configuration.rb', line 20

def self.ssl_cert_path
  Settings.emis.client_cert_path
end

.ssl_key_pathString

EMIS SSL key path

Returns:

  • (String)

    EMIS SSL key path



26
27
28
# File 'lib/emis/configuration.rb', line 26

def self.ssl_key_path
  Settings.emis.client_key_path
end

Instance Method Details

#allow_missing_certs?Boolean

Allow connection to be used without certificates present

Returns:

  • (Boolean)


57
58
59
# File 'lib/emis/configuration.rb', line 57

def allow_missing_certs?
  true
end

#connectionFaraday::Connection

Faraday connection object configured to handle SOAP requests

Returns:

  • (Faraday::Connection)

    Faraday connection object



44
45
46
47
48
49
50
51
52
53
# File 'lib/emis/configuration.rb', line 44

def connection
  Faraday.new(base_path, headers: base_request_headers, request: request_options, ssl: ssl_options) do |conn|
    conn.use :breakers
    conn.request :soap_headers

    conn.response :soap_parser
    conn.response :betamocks if Settings.emis.mock
    conn.adapter Faraday.default_adapter
  end
end

#ssl_optionsHash

Faraday SSL options

Returns:

  • (Hash)

    Faraday SSL options



33
34
35
36
37
38
39
40
# File 'lib/emis/configuration.rb', line 33

def ssl_options
  if ssl_cert && ssl_key
    {
      client_cert: ssl_cert,
      client_key: ssl_key
    }
  end
end