code: def _ReadMemberHeader(self, file_object):
      
      file_offset = file_object.get_offset()
      member_header = self._ReadStructure(
          file_object, file_offset, self._MEMBER_HEADER_SIZE,
          self._MEMBER_HEADER, 'member header')
  
      if member_header.signature != self._GZIP_SIGNATURE:
        raise errors.FileFormatError(
            'Unsupported signature: 0x{0:04x}.'.format(member_header.signature))
  
      if member_header.compression_method != self._COMPRESSION_METHOD_DEFLATE:
        raise errors.FileFormatError(
            'Unsupported compression method: {0:d}.'.format(
                member_header.compression_method))
  
      self.modification_time = member_header.modification_time
      self.operating_system = member_header.operating_system
  
      if member_header.flags & self._FLAG_FEXTRA:
        file_offset = file_object.get_offset()
        extra_field_data_size = self._ReadStructure(
            file_object, file_offset, self._UINT16LE_SIZE,
            self._UINT16LE, 'extra field data size')
  
        file_object.seek(extra_field_data_size, os.SEEK_CUR)
  
      if member_header.flags & self._FLAG_FNAME:
        file_offset = file_object.get_offset()
        string_value = self._ReadString(
            file_object, file_offset, self._CSTRING, 'original filename')
  
        self.original_filename = string_value.rstrip('\x00')
  
      if member_header.flags & self._FLAG_FCOMMENT:
        file_offset = file_object.get_offset()
        string_value = self._ReadString(
            file_object, file_offset, self._CSTRING, 'comment')
  
        self.comment = string_value.rstrip('\x00')
  
      if member_header.flags & self._FLAG_FHCRC:
        file_object.read(2)
docs: Reads a member header.
  
      Args:
        file_object (FileIO): file-like object to read from.
  
      Raises:
        FileFormatError: if the member header cannot be read.