Class: Datadog::CI::Transport::RemoteSettingsApi::Response
- Inherits:
-
Object
- Object
- Datadog::CI::Transport::RemoteSettingsApi::Response
- Defined in:
- lib/datadog/ci/transport/remote_settings_api.rb
Instance Method Summary collapse
-
#initialize(http_response) ⇒ Response
constructor
A new instance of Response.
- #ok? ⇒ Boolean
- #payload ⇒ Object
- #require_git? ⇒ Boolean
Constructor Details
#initialize(http_response) ⇒ Response
Returns a new instance of Response.
17 18 19 20 |
# File 'lib/datadog/ci/transport/remote_settings_api.rb', line 17 def initialize(http_response) @http_response = http_response @json = nil end |
Instance Method Details
#ok? ⇒ Boolean
22 23 24 25 |
# File 'lib/datadog/ci/transport/remote_settings_api.rb', line 22 def ok? resp = @http_response !resp.nil? && resp.ok? end |
#payload ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/datadog/ci/transport/remote_settings_api.rb', line 27 def payload cached = @json return cached unless cached.nil? resp = @http_response return @json = default_payload if resp.nil? || !ok? begin @json = JSON.parse(resp.payload).dig(*Ext::Transport::DD_API_SETTINGS_RESPONSE_DIG_KEYS) || default_payload rescue JSON::ParserError => e Datadog.logger.error("Failed to parse settings response payload: #{e}. Payload was: #{resp.payload}") @json = default_payload end end |
#require_git? ⇒ Boolean
43 44 45 |
# File 'lib/datadog/ci/transport/remote_settings_api.rb', line 43 def require_git? Utils::Parsing.convert_to_bool(payload[Ext::Transport::DD_API_SETTINGS_RESPONSE_REQUIRE_GIT_KEY]) end |