code: def parse_http_list(s):
      
      res = []
      part = ''
  
      escape = quote = False
      for cur in s:
          if escape:
              part += cur
              escape = False
              continue
          if quote:
              if cur == '\\':
                  escape = True
                  continue
              elif cur == '"':
                  quote = False
              part += cur
              continue
  
          if cur == ',':
              res.append(part)
              part = ''
              continue
  
          if cur == '"':
              quote = True
  
          part += cur
  
      # append last part
      if part:
          res.append(part)
  
      return [part.strip() for part in res]
docs: Parse lists as described by RFC 2068 Section 2.
  
      In particular, parse comma-separated lists where the elements of
      the list may include quoted-strings.  A quoted-string could
      contain a comma.  A non-quoted string could have quotes in the
      middle.  Neither commas nor quotes count if they are escaped.
      Only double-quotes count, not single-quotes.