code: def redact_http_basic_auth(output):
      '''
      Remove HTTP user and password
      '''
      # We can't use re.compile because re.compile(someregex).sub() doesn't
      # support flags even in Python 2.7.
      url_re = '(https?)://.*@'
      redacted = r'\1://<redacted>@'
      if sys.version_info >= (2, 7):
          # re.sub() supports flags as of 2.7, use this to do a case-insensitive
          # match.
          return re.sub(url_re, redacted, output, flags=re.IGNORECASE)
      else:
          # We're on python 2.6, test if a lowercased version of the output
          # string matches the regex...
          if re.search(url_re, output.lower()):
              # ... and if it does, perform the regex substitution.
              return re.sub(url_re, redacted, output.lower())
      # No match, just return the original string
      return outpuf redact_http_basic_auth(output):
      '''
      Remove HTTP user and password
      '''
      # We can't use re.compile because re.compile(someregex).sub() doesn't
      # support flags even in Python 2.7.
      url_re = '(https?)://.*@'
      redacted = r'\1://<redacted>@'
      if sys.version_info >= (2, 7):
          # re.sub() supports flags as of 2.7, use this to do a case-insensitive
          # match.
          return re.sub(url_re, redacted, output, flags=re.IGNORECASE)
      else:
          # We're on python 2.6, test if a lowercased version of the output
          # string matches the regex...
          if re.search(url_re, output.lower()):
              # ... and if it does, perform the regex substitution.
              return re.sub(url_re, redacted, output.lower())
      # No match, just return the original string
      return output
docs: Remove HTTP user and password