Class: SM::Configuration
- Inherits:
-
Common::Client::Configuration::REST
- Object
- Common::Client::Configuration::Base
- Common::Client::Configuration::REST
- SM::Configuration
- Defined in:
- lib/sm/configuration.rb
Overview
HTTP client configuration for Client, sets the token, base path and a service name for breakers and metrics
Instance Attribute Summary
Attributes inherited from Common::Client::Configuration::Base
#base_request_headers, #open_timeout, #read_timeout, #request_types, #user_agent
Instance Method Summary collapse
-
#app_token ⇒ String
Client token set in ‘settings.yml` via credstash.
-
#base_path ⇒ String
Base path for dependent URLs.
-
#connection ⇒ Faraday::Connection
Creates a connection with middleware for mapping errors, parsing XML, and adding breakers functionality.
-
#service_name ⇒ String
Service name to use in breakers and metrics.
Methods inherited from Common::Client::Configuration::Base
#breakers_error_threshold, #breakers_exception_handler, #breakers_matcher, #breakers_service, #create_new_breakers_service, #current_module, #request_options, #service_exception
Instance Method Details
#app_token ⇒ String
Returns Client token set in ‘settings.yml` via credstash.
21 22 23 |
# File 'lib/sm/configuration.rb', line 21 def app_token Settings.mhv.sm.app_token end |
#base_path ⇒ String
Returns Base path for dependent URLs.
28 29 30 |
# File 'lib/sm/configuration.rb', line 28 def base_path "#{Settings.mhv.sm.host}/mhv-sm-api/patient/v1/" end |
#connection ⇒ Faraday::Connection
Creates a connection with middleware for mapping errors, parsing XML, and adding breakers functionality
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/sm/configuration.rb', line 46 def connection Faraday.new(base_path, headers: base_request_headers, request: ) do |conn| conn.use :breakers conn.request :camelcase conn.request :multipart_request conn.request :multipart conn.request :json # Uncomment this if you want curl command equivalent or response output to log # conn.request(:curl, ::Logger.new(STDOUT), :warn) unless Rails.env.production? # conn.response(:logger, ::Logger.new(STDOUT), bodies: true) unless Rails.env.production? conn.response :betamocks if Settings.mhv.sm.mock conn.response :sm_parser conn.response :snakecase conn.response :raise_custom_error, error_prefix: service_name conn.response :mhv_errors conn.response :mhv_xml_html_errors conn.response :json_parser conn.adapter Faraday.default_adapter end end |
#service_name ⇒ String
Returns Service name to use in breakers and metrics.
35 36 37 |
# File 'lib/sm/configuration.rb', line 35 def service_name 'SM' end |