docs: async def get_entry(config, url):
      """ Given an entry URL, return the entry
  
      Arguments:
  
      config -- the configuration
      url -- the URL of the entry
  
      Returns: 3-tuple of (current, previous, updated) """
  
      previous = config.cache.get(
          'entry', url,
          schema_version=SCHEMA_VERSION) if config.cache else None
  
      headers = previous.caching if previous else None
  
      request = await utils.retry_get(config, url, headers=headers)
      if not request or not request.success:
          LOGGER.error("Could not get entry %s: %d", url,
                       request.status if request else -1)
          return None, previous, False
  
      # cache hit
      if request.cached:
          return previous, previous, False
  
      current = Entry(request)
  
      # Content updated
      if config.cache:
          config.cache.set('entry', url, current)
  
      return current, previous, (not previous
                                 or previous.digest != current.digest
                                 or previous.status != current.status)