code: def stream_filesystem_node(path,
                             recursive=False,
                             patterns='**',
                             chunk_size=default_chunk_size):
      
      is_dir = isinstance(path, six.string_types) and os.path.isdir(path)
      if recursive or is_dir:
          return stream_directory(path, recursive, patterns, chunk_size)
      else:
          return stream_files(path, chunk_size)
docs: Gets a buffered generator for streaming either files or directories.
  
      Returns a buffered generator which encodes the file or directory at the
      given path as :mimetype:`multipart/form-data` with the corresponding
      headers.
  
      Parameters
      ----------
      path : str
          The filepath of the directory or file to stream
      recursive : bool
          Stream all content within the directory recursively?
      patterns : str | list
          Single *glob* pattern or list of *glob* patterns and compiled
          regular expressions to match the names of the filepaths to keep
      chunk_size : int
          Maximum size of each stream chunk