docs: def whereIsYadis(resp):
      """Given a HTTPResponse, return the location of the Yadis document.
  
      May be the URL just retrieved, another URL, or None, if I can't
      find any.
  
      [non-blocking]
  
      @returns: str or None
      """
      # Attempt to find out where to go to discover the document
      # or if we already have it
      content_type = resp.headers.get('content-type')
  
      # According to the spec, the content-type header must be an exact
      # match, or else we have to look for an indirection.
      if (content_type and
          content_type.split(';', 1)[0].lower() == YADIS_CONTENT_TYPE):
          return resp.final_url
      else:
          # Try the header
          yadis_loc = resp.headers.get(YADIS_HEADER_NAME.lower())
  
          if not yadis_loc:
              # Parse as HTML if the header is missing.
              #
              # XXX: do we want to do something with content-type, like
              # have a whitelist or a blacklist (for detecting that it's
              # HTML)?
  
              # Decode body by encoding of file
              content_type = content_type or ''
              encoding = content_type.rsplit(';', 1)
              if len(encoding) == 2 and encoding[1].strip().startswith('charset='):
                  encoding = encoding[1].split('=', 1)[1].strip()
              else:
                  encoding = 'UTF-8'
  
              try:
                  content = resp.body.decode(encoding)
              except UnicodeError:
                  # Keep encoded version in case yadis location can be found before encoding shut this up.
                  # Possible errors will be caught lower.
                  content = resp.body
  
              try:
                  yadis_loc = findHTMLMeta(StringIO(content))
              except (MetaNotFound, UnicodeError):
                  # UnicodeError: Response body could not be encoded and xrds location
                  # could not be found before troubles occurs.
                  pass
  
          return yadis_loc