Open2

【Go】(*mime/multipart.Reader).ReadFormのafero.Fsに受ける版を作る

ngicksngicks
  • ReadFormは一時ファイルのディレクトリにコントロールがないので特定の環境(e.g. coetainer)で困る
  • afero.Fsとして受け取れるとfs.FSを受け取るところに渡せてよい
  • aferoのMemFsが色々よくない(fileがReadAt interfaceのconcurrent呼びたししてよいなどの規約を守っていないなど)ので作ってみたかった
ngicksngicks

パラメータは

  • maxSize: max memory size
  • perFileSize: per file max memory size
  • underlying: underlying Fs.

こんなところか?

type MemTempFs struct {
// ... fields ...
}

func New(maxSize, perFielSize int, underlying afero.Fs) *MemTempFs {
    return &MemTempFs{
        maxSize:  maxSize,
        perFielSize: perFielSize
        underlying: underlying,
    }
}