class_docstr: Abstract Parser class to be inherited by all StreamAlert Parsers
class_docstr_tok: ["Abstract","Parser","class","to","be","inherited","by","all","StreamAlert","Parsers"]
docstr: Apply the envelope extracted from the orignal record to the parsed record
  
  Args:
      record (dict): Value of the successfully parsed record
      envelope (dict): Extracted envelope to be added to the parsed record
docstr_tok: ["Apply","the","envelope","extracted","from","the","orignal","record","to","the","parsed","record","Args",":","record","(","dict",")",":","Value","of","the","successfully","parsed","record","envelope","(","dict",")",":","Extracted","envelope","to","be","added","to","the","parsed","record"]
code: def _apply_envelope(cls, record, envelope):
      """Apply the envelope extracted from the orignal record to the parsed record
  
      Args:
          record (dict): Value of the successfully parsed record
          envelope (dict): Extracted envelope to be added to the parsed record
      """
      if not envelope:
          return
  
      record.update({cls.ENVELOPE_KEY: envelope})
  
imports: from abc import ABCMeta, abstractmethod
  from copy import deepcopy
  import csv
  from fnmatch import fnmatch
  import json
  import logging
  import re
  import io
  import jmespath
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 17 for calling the ParserBase obj's underlying member method code with example usage: obj._apply_envelope(cls, record, envelope) without return types