Class: BenefitsClaims::Configuration
- Inherits:
-
Common::Client::Configuration::REST
- Object
- Common::Client::Configuration::Base
- Common::Client::Configuration::REST
- BenefitsClaims::Configuration
- Defined in:
- lib/lighthouse/benefits_claims/configuration.rb
Overview
HTTP client configuration for the Service, sets the base path, the base request headers, and a service name for breakers and metrics.
Constant Summary collapse
- API_SCOPES =
%w[system/claim.read system/claim.write].freeze
- CLAIMS_PATH =
'services/claims/v2/veterans'
- TOKEN_PATH =
'oauth2/claims/system/v1/token'
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
- #base_api_path(host = nil) ⇒ Object
-
#base_path(host = nil) ⇒ String
Base path for veteran_verification URLs.
-
#connection ⇒ Faraday::Connection
Creates a Faraday connection with parsing json and breakers functionality.
-
#get(path, lighthouse_client_id = nil, lighthouse_rsa_key_path = nil, options = {}) ⇒ Faraday::Response
Response from GET request.
-
#post(path, body, lighthouse_client_id = nil, lighthouse_rsa_key_path = nil, options = {}) ⇒ Faraday::Response
Response from POST request.
-
#service_name ⇒ String
Service name to use in breakers and metrics.
-
#settings ⇒ Config::Options
Settings for benefits_claims API.
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
#base_api_path(host = nil) ⇒ Object
35 36 37 |
# File 'lib/lighthouse/benefits_claims/configuration.rb', line 35 def base_api_path(host = nil) "#{base_path(host)}/#{CLAIMS_PATH}" end |
#base_path(host = nil) ⇒ String
Returns Base path for veteran_verification URLs.
31 32 33 |
# File 'lib/lighthouse/benefits_claims/configuration.rb', line 31 def base_path(host = nil) (host || settings.host).to_s end |
#connection ⇒ Faraday::Connection
Creates a Faraday connection with parsing json and breakers functionality.
77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/lighthouse/benefits_claims/configuration.rb', line 77 def connection @conn ||= Faraday.new(base_api_path, headers: base_request_headers, request: ) do |faraday| faraday.use :breakers faraday.use Faraday::Response::RaiseError faraday.request :multipart faraday.request :json faraday.response :betamocks if use_mocks? faraday.response :json, content_type: /\bjson/ faraday.adapter Faraday.default_adapter end end |
#get(path, lighthouse_client_id = nil, lighthouse_rsa_key_path = nil, options = {}) ⇒ Faraday::Response
Returns response from GET request.
49 50 51 52 53 54 55 56 57 |
# File 'lib/lighthouse/benefits_claims/configuration.rb', line 49 def get(path, lighthouse_client_id = nil, lighthouse_rsa_key_path = nil, = {}) connection.get(path, [:params], { Authorization: "Bearer #{ access_token( lighthouse_client_id, lighthouse_rsa_key_path, ) }" }) end |
#post(path, body, lighthouse_client_id = nil, lighthouse_rsa_key_path = nil, options = {}) ⇒ Faraday::Response
Returns response from POST request.
62 63 64 65 66 67 68 69 70 |
# File 'lib/lighthouse/benefits_claims/configuration.rb', line 62 def post(path, body, lighthouse_client_id = nil, lighthouse_rsa_key_path = nil, = {}) connection.post(path, body, { Authorization: "Bearer #{ access_token( lighthouse_client_id, lighthouse_rsa_key_path, ) }" }) end |
#service_name ⇒ String
Returns Service name to use in breakers and metrics.
42 43 44 |
# File 'lib/lighthouse/benefits_claims/configuration.rb', line 42 def service_name 'BenefitsClaims' end |
#settings ⇒ Config::Options
Returns Settings for benefits_claims API.
22 23 24 |
# File 'lib/lighthouse/benefits_claims/configuration.rb', line 22 def settings Settings.lighthouse.benefits_claims end |