Class: Rox::Core::ConfigurationFetcher
Instance Method Summary
collapse
#initialize, #write_fetch_error_to_log_and_invoke_fetch_handler, #write_fetch_exception_to_log_and_invoke_fetch_handler
Instance Method Details
#fetch ⇒ Object
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/rox/core/network/configuration_fetcher.rb', line 8
def fetch
source = ConfigurationSource::CDN
begin
fetch_result = fetch_from_cdn
return ConfigurationFetchResult.new(fetch_result.text, source) if fetch_result.success_status_code?
if [403, 404].include?(fetch_result.status_code)
write_fetch_error_to_log_and_invoke_fetch_handler(source, fetch_result, false, ConfigurationSource::API)
source = ConfigurationSource::API
fetch_result = fetch_from_api
return ConfigurationFetchResult.new(fetch_result.text, source) if fetch_result.success_status_code?
end
write_fetch_error_to_log_and_invoke_fetch_handler(source, fetch_result)
rescue StandardError => ex
write_fetch_exception_to_log_and_invoke_fetch_handler(source, ex)
end
nil
end
|
#fetch_from_api ⇒ Object
33
34
35
|
# File 'lib/rox/core/network/configuration_fetcher.rb', line 33
def fetch_from_api
@request.send_get(@request_configuration_builder.build_for_api)
end
|
#fetch_from_cdn ⇒ Object
29
30
31
|
# File 'lib/rox/core/network/configuration_fetcher.rb', line 29
def fetch_from_cdn
@request.send_get(@request_configuration_builder.build_for_cdn)
end
|