code: def get_retry_after(headers):
      """Return Retry-After header value in seconds.
  
      .. versionadded:: 2.2
      """
      # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After
      # https://github.com/urllib3/urllib3/blob/1.26.4/src/urllib3/util/retry.py#L376
  
      try:
          retry_after = headers["retry-after"]
      except KeyError:
          return None
  
      if not retry_after:  # None, ''
          return None
  
      retry_after = retry_after.strip()
  
      # RFC7231 section-7.1.3:
      # Retry-After = HTTP-date / delay-seconds
  
      try:
          # Retry-After: 120
          seconds = int(retry_after)
      except ValueError:
          # Retry-After: Fri, 31 Dec 1999 23:59:59 GMT
          retry_date_tuple = email.utils.parsedate_tz(retry_after)
          if retry_date_tuple is None:
              logger.warning(
                  "Invalid Retry-After header: %s", retry_after
              )
              return None
          retry_date = email.utils.mktime_tz(retry_date_tuple)
          seconds = retry_date - time.time()
  
      if seconds < 0:
          seconds = 0
  
      return seconds
  
imports: import abc
  import asyncio
  import contextlib
  import email
  import json
  import ssl
  import time
  import warnings
  from socket import timeout
  from ssl import SSLError
  from urllib.error import HTTPError
  from urllib.parse import urlparse
  from urllib.request import HTTPSHandler, ProxyHandler, Request, URLError, build_opener, getproxies
  from geopy.exc import GeocoderParseError, GeocoderServiceError, GeocoderTimedOut, GeocoderUnavailable, GeopyError
  from geopy.util import logger
label_desc: Use image node_id 1 for calling a global function with example usage: get_retry_after(headers) and returns: seconds, None, None, None