docs: def parse_options_header(value):
      """Parse a ``Content-Type`` like header into a tuple with the content
      type and the options:
  
      >>> parse_options_header('text/html; charset=utf8')
      ('text/html', {'charset': 'utf8'})
  
      This should not be used to parse ``Cache-Control`` like headers that use
      a slightly different format.  For these headers use the
      :func:`parse_dict_header` function.
  
      .. versionadded:: 0.5
  
      :param value: the header to parse.
      :return: (str, options)
      """
      def _tokenize(string):
          for match in _option_header_piece_re.finditer(string):
              key, value = match.groups()
              key = unquote_header_value(key)
              if value is not None:
                  value = unquote_header_value(value, key == 'filename')
              yield key, value
  
      if not value:
          return '', {}
  
      parts = _tokenize(';' + value)
      name = next(parts)[0]
      extra = dict(parts)
      return name, extra