Class: SplitIoClient::Engine::AuthApiClient
- Inherits:
-
Object
- Object
- SplitIoClient::Engine::AuthApiClient
- Defined in:
- lib/splitclient-rb/engine/auth_api_client.rb
Instance Method Summary collapse
- #authenticate(api_key) ⇒ Object
-
#initialize(config, telemetry_runtime_producer) ⇒ AuthApiClient
constructor
A new instance of AuthApiClient.
Constructor Details
#initialize(config, telemetry_runtime_producer) ⇒ AuthApiClient
Returns a new instance of AuthApiClient.
9 10 11 12 13 |
# File 'lib/splitclient-rb/engine/auth_api_client.rb', line 9 def initialize(config, telemetry_runtime_producer) @config = config @api_client = SplitIoClient::Api::Client.new(@config) @telemetry_runtime_producer = telemetry_runtime_producer end |
Instance Method Details
#authenticate(api_key) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/splitclient-rb/engine/auth_api_client.rb', line 15 def authenticate(api_key) start = Time.now response = @api_client.get_api(@config.auth_service_url, api_key) return process_success(response, start) if response.success? return process_error(response) if response.status >= 400 && response.status < 500 @telemetry_runtime_producer.record_sync_error(Telemetry::Domain::Constants::TOKEN_SYNC, response.status.to_i) @config.logger.debug("Error connecting to: #{@config.auth_service_url}. Response status: #{response.status}") { push_enabled: false, retry: true } rescue StandardError => e @config.logger.debug("AuthApiClient error: #{e.inspect}.") { push_enabled: false, retry: false } end |