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