Files
OpenList/internal/model/file.go

33 lines
472 B
Go
Raw Normal View History

package model
import (
"errors"
"io"
)
// File is basic file level accessing interface
type File interface {
io.Reader
io.ReaderAt
io.Seeker
}
type FileCloser struct {
File
io.Closer
}
func (f *FileCloser) Close() error {
var errs []error
if clr, ok := f.File.(io.Closer); ok {
errs = append(errs, clr.Close())
}
if f.Closer != nil {
errs = append(errs, f.Closer.Close())
}
return errors.Join(errs...)
}
type FileRangeReader struct {
RangeReaderIF
}