docs: def get_url(url: str, params: dict = {}, timeout: float = 5.0, cache: bool = True):
      """Wrapper for requests.get(url)
  
      Args:
          url: url to retrieve
          params: query string parameters
          timeout: allow this much time for the request and time it out if over
          cache: Cache for up to a day unless this is false
  
      Returns:
          Requests Result obj or None if timed out
      """
  
      try:
  
          if not cache:
              with requests_cache.disabled():
                  r = requests.get(url, params=params, timeout=timeout)
          else:
              r = requests.get(url, params=params, timeout=timeout)
  
          log.debug(f"Response headers {r.headers}  From cache {r.from_cache}")
          return r
  
      except requests.exceptions.Timeout:
          log.warn(f"Timed out getting url in get_url: {url}")
          return None
      except Exception as e:
          log.warn(f"Error getting url: {url}  error: {e}")
          return None