code: def _parseHeaderValue(self, header_value):
          
          values = header_value.split(';', 1)
          if len(values) == 1:
              # There's no extra info -- return the main value and an empty dict
              return values[0], {}
          main_value, extra_values = values[0], values[1].split(';')
          extra_dict = {}
          for value_string in extra_values:
              try:
                  key, value = value_string.split('=', 1)
                  extra_dict[key.strip()] = value.strip()
              except ValueError:
                  # Can't unpack it -- must be malformed. Ignore
                  pass
          return main_value, extra_dict
docs: Parse out a complex header value (such as Content-Type, with a value
          like "text/html; charset=utf-8") into a main value and a dictionary of
          extra information (in this case, 'text/html' and {'charset': 'utf8'}).