code: func readFile(fs afero.Fs, filename string) (string, error) {
  	if filename == "" {
  		return "", errors.New("readFile needs a filename")
  	}
  
  	if info, err := fs.Stat(filename); err == nil {
  		if info.Size() > 1000000 {
  			return "", fmt.Errorf("file %q is too big", filename)
  		}
  	} else {
  		return "", err
  	}
  	b, err := afero.ReadFile(fs, filename)
  
  	if err != nil {
  		return "", err
  	}
  
  	return string(b), nil
  }
docs: // readFile reads the file named by filename in the given filesystem
  // and returns the contents as a string.
  // There is a upper size limit set at 1 megabytes.