influx-cli/pkg/csv2lp/multi_closer.go
Jeffrey Smith II 5c7c34f16d
feat: replication bucket name (#440)
* chore: gofmt

* chore: update openapi gen files

* feat: add replication-bucket-name flag

* fix: fix tests

* chore: rename to replication-bucket

* feat: show remote bucket name or id

* chore: fmt fixup

* chore: update openapi to master

* chore: fix openapi generation
2022-08-18 14:21:50 -04:00

34 lines
629 B
Go

package csv2lp
import (
"io"
"log"
)
// multicloser
type multiCloser struct {
closers []io.Closer
}
// Close implements io.Closer to closes all nested closers and logs a warning on error
func (mc *multiCloser) Close() error {
var err error
for i := 0; i < len(mc.closers); i++ {
e := mc.closers[i].Close()
if e != nil {
if err == nil {
err = e
}
log.Println(err)
}
}
return err
}
// MultiCloser creates an io.Closer that silently closes supplied io.Closer instances
func MultiCloser(closers ...io.Closer) io.Closer {
c := make([]io.Closer, len(closers))
copy(c, closers)
return &multiCloser{c}
}