docs: def get_redirect_url(current_url, config, https=None):
      """
      priorities are (primary domain and aliases are treated the same):
          exact redirect match > exact alias match > pattern redirect match > pattern alias match
      :param current_url: the url that is being called
      :param config: redirect configuration for this url
      :param want_https: whether redirects should go to https (None keeps the current scheme)
      :return: None for no redirect or an url to redirect to
      """
      primary_domain = config['domain']
      domains = set(config.get('aliases', [])) | set((primary_domain,))
      domain_patterns = compile_regexes(domains)
      redirect_domains = set(config.get('redirects', []))
      redirect_domain_patterns = compile_regexes(redirect_domains)
      url = yurl.URL(current_url)
      if https is None:
          target_scheme = url.scheme
      else:
          target_scheme = 'https' if https else 'http'
      redirect_url = None
      if url.is_host_ip() or url.is_host_ipv4():
          # don't redirect for ips
          return
      if url.host in domains and url.scheme == target_scheme:
          # exact host and scheme match: Nothing to do
          return
      if url.host in domains and url.scheme != target_scheme:
          # exact alias match, but scheme mismatch: redirect to changed scheme
          redirect_url = url.replace(scheme=target_scheme)
      elif url.host in redirect_domains:
          # exact redirect match: redirect
          redirect_url = url.replace(scheme=target_scheme, host=primary_domain)
      elif url.host in domains:
          # exact alias match: nothing to do
          return
      elif match_any(redirect_domain_patterns, url.host):
          # pattern redirect match: redirect
          redirect_url = url.replace(scheme=target_scheme, host=primary_domain)
      elif match_any(domain_patterns, url.host):
          # pattern alias match
          if url.scheme != target_scheme:
              # pattern alias match and scheme mismatch: redirect
              redirect_url = url.replace(scheme=target_scheme)
          else:
              return
  
      if redirect_url:
          return '{}'.format(redirect_url)