class GdsApi::JsonClient

def initialize(options = {})

def initialize(options = {})
  if options[:disable_timeout] || options[:timeout].to_i < 0
    raise "It is no longer possible to disable the timeout."
  end
  @logger = options[:logger] || NullLogger.instance
  disable_cache = options[:disable_cache] || ENV.fetch("GDS_API_DISABLE_CACHE", false)
  if disable_cache || options[:cache_size]&.zero?
    @cache = NullCache.new
  else
    cache_size = options[:cache_size] || DEFAULT_CACHE_SIZE
    cache_ttl = options[:cache_ttl] || DEFAULT_CACHE_TTL
    @cache = JsonClient.cache(cache_size, cache_ttl)
  end
  @options = options
end