class Dependabot::RegistryClient
def self.cache_error(url, error)
def self.cache_error(url, error) t ] = error
def self.cached_error_for(url)
def self.cached_error_for(url) t h(host, nil)
def self.clear_cache!
def self.clear_cache! @cached_errors = {} end
def self.get(url:, headers: {}, options: {})
def self.get(url:, headers: {}, options: {}) raise T.must(cached_error_for(url)) if cached_error_for(url) Excon.get( url, idempotent: true, **SharedHelpers.excon_defaults({ headers: headers }.merge(options)), retry_interval: 5 ) rescue Excon::Error::Timeout => e cache_error(url, e) raise e end
def self.head(url:, headers: {}, options: {})
def self.head(url:, headers: {}, options: {}) raise T.must(cached_error_for(url)) if cached_error_for(url) Excon.head( url, idempotent: true, **SharedHelpers.excon_defaults({ headers: headers }.merge(options)) ) rescue Excon::Error::Timeout => e cache_error(url, e) raise e end