code: func (fsh *Handler) getFilesInPath(files []string, path string) error {
  	pathInfo, err := os.Stat(path)
  	if err != nil {
  		return errors.Errorf("failed to read path %s: %v", path, err)
  	}
  	if pathInfo.IsDir() {
  		pathList, err := ioutil.ReadDir(path)
  		if err != nil {
  			return errors.Errorf("failed to read directory %s: %v", path, err)
  		}
  		for _, nested := range pathList {
  			// Recursive call to process all the tree
  			if err := fsh.getFilesInPath(files, path+nested.Name()); err != nil {
  				return err
  			}
  		}
  	}
  	files = append(files, path)
  
  	return nil
  }
docs: // Processes given path. If the target is a file, it is stored in the file list. If the target
  // is a directory, function is called recursively on nested paths in order to process the whole tree.