def Parse(self, line):
    try:
      if not line.endswith('\r\n'):
        raise ValueError('Missing "\\r\\n" suffix')
      len_and_csv = line[:-2].split(';', 1)
      if len(len_and_csv) > 1:
        for item in len_and_csv[1].split(','):
          k, v = item.strip().split('=', 1)
          self._Validate(k, v)
          k += '_'  # Add our suffix
          if not hasattr(self, k):
            pass  # Ignore unknown keys
          if k.startswith('is_'):
            # Parse 'false' to False, not bool('false')
            v = ('true' == v.lower())
          setattr(self, k, v)
      self.len_ = max(0, int(len_and_csv[0].strip(), 16))
    except:
      raise ValueError('Invalid chunk header: %s', line)
Constructs a :class:`Request <Request>`, prepares it and sends it.
dataset/ETHPy150Open google/lab_device_proxy/lab_device_proxy_client.py/ChunkHeader.Parse--crossover with--dataset/ETHPy150Open BergWerkGIS/QGIS-CKAN-Browser/CKAN-Browser/request/sessions.py/Session.request