code: def decode(cls, auth_header: str, encoding: str='latin1') -> 'BasicAuth':
          
          try:
              auth_type, encoded_credentials = auth_header.split(' ', 1)
          except ValueError:
              raise ValueError('Could not parse authorization header.')
  
          if auth_type.lower() != 'basic':
              raise ValueError('Unknown authorization method %s' % auth_type)
  
          try:
              decoded = base64.b64decode(
                  encoded_credentials.encode('ascii'), validate=True
              ).decode(encoding)
          except binascii.Error:
              raise ValueError('Invalid base64 encoding.')
  
          try:
              # RFC 2617 HTTP Authentication
              # https://www.ietf.org/rfc/rfc2617.txt
              # the colon must be present, but the username and password may be
              # otherwise blank.
              username, password = decoded.split(':', 1)
          except ValueError:
              raise ValueError('Invalid credentials.')
  
          return cls(username, password, encoding=encoding)
docs: Create a BasicAuth object from an Authorization HTTP header.