code: def _GetArchiveTypes(self, mediator, path_spec):
      
      try:
        type_indicators = analyzer.Analyzer.GetArchiveTypeIndicators(
            path_spec, resolver_context=mediator.resolver_context)
      except IOError as exception:
        type_indicators = []
  
        warning_message = (
            'analyzer failed to determine archive type indicators '
            'with error: {0!s}').format(exception)
        mediator.ProduceExtractionWarning(warning_message, path_spec=path_spec)
  
      return type_indicators
docs: Determines if a data stream contains an archive such as: TAR or ZIP.
  
      Args:
        mediator (ParserMediator): mediates the interactions between
            parsers and other components, such as storage and abort signals.
        path_spec (dfvfs.PathSpec): path specification of the data stream.
  
      Returns:
        list[str]: dfVFS archive type indicators found in the data stream.