code: def split_header_key_value(self, line):
          
          try:
              line = line.decode()
              key, value = map(str.strip, line.split(':', 1))
          except ValueError:
              raise HTTPErrorInvalidHeader
  
          if self.is_invalid_header_name(key):
              raise HTTPErrorInvalidHeader
  
          return key, value
docs: Takes a byte string and attempts to decode and build a key-value
          pair for the header. Header names are checked for validity. In
          the event that the string can not be split on a ':' char, an
          HTTPErrorInvalidHeader exception is raised.
  
          Parameters:
              line (bytes): header bytes which will be automatically
                  decoded and split between key + value.
  
          Returns:
              tuple of 2 strs: key + value
  
          Raises:
              HTTPErrorInvalidHeader: The string cannot be split on a ':'
                  character or the header key is an invalid HTTP header
                  name.