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, #request_options, #service_exception
Instance Method Details
#app_token ⇒ String
Returns Client token set in ‘settings.yml` via credstash.
20 21 22 |
# File 'lib/sm/configuration.rb', line 20 def app_token Settings.mhv.sm.app_token end |
#base_path ⇒ String
Returns Base path for dependent URLs.
27 28 29 |
# File 'lib/sm/configuration.rb', line 27 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
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/sm/configuration.rb', line 45 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_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.
34 35 36 |
# File 'lib/sm/configuration.rb', line 34 def service_name 'SM' end |