diff options
| author | Marin Ivanov <[email protected]> | 2022-08-15 05:15:14 +0300 |
|---|---|---|
| committer | Marin Ivanov <[email protected]> | 2022-08-15 05:15:14 +0300 |
| commit | 28224be36da864bfca19e30de920dbd195d7ef5b (patch) | |
| tree | 158be382a95ef159d2b644a3600cf4d60460bbda | |
| parent | 43069c737dde59bd86e5b09c496d9df90f29d136 (diff) | |
Rename transform* => from*
| -rw-r--r-- | errors.go | 22 | ||||
| -rw-r--r-- | file.go | 4 | ||||
| -rw-r--r-- | fileinfo.go | 2 | ||||
| -rw-r--r-- | fileinfo_test.go | 2 | ||||
| -rw-r--r-- | fs.go | 33 |
5 files changed, 35 insertions, 28 deletions
diff --git a/errors.go b/errors.go new file mode 100644 index 0000000..5c1802e --- /dev/null +++ b/errors.go @@ -0,0 +1,22 @@ +package s3 + +import ( + "github.com/minio/minio-go/v7" + "github.com/spf13/afero" +) + +func fromErrorResponse(err error) error { + resp, ok := err.(minio.ErrorResponse) + if !ok { + return err + } + + switch resp.Code { + case "NoSuchKey": + return afero.ErrFileNotFound + case "EntityTooLarge": + return afero.ErrTooLarge + } + + return err +} @@ -38,7 +38,7 @@ func (f *File) Read(b []byte) (int, error) { } n, err := f.r.Read(b) if err != nil { - return n, transformError(err) + return n, fromErrorResponse(err) } return n, nil } @@ -56,7 +56,7 @@ func (f *File) Write(p []byte) (int, error) { n, err := f.w.Write(p) if err != nil { - return n, transformError(err) + return n, fromErrorResponse(err) } return n, nil } diff --git a/fileinfo.go b/fileinfo.go index 4724919..efed2d8 100644 --- a/fileinfo.go +++ b/fileinfo.go @@ -47,7 +47,7 @@ func (fi *FileInfo) Sys() interface{} { return fi.objectInfo } -func transformObjectInfo(info minio.ObjectInfo) fs.FileInfo { +func fromObjectInfo(info minio.ObjectInfo) fs.FileInfo { base := path.Base(info.Key) isDir := isDirPath(info.Key) if isDir { diff --git a/fileinfo_test.go b/fileinfo_test.go index ac0d8f1..9a188a1 100644 --- a/fileinfo_test.go +++ b/fileinfo_test.go @@ -16,7 +16,7 @@ func TestTransformObjectInfo(t *testing.T) { Size: 1245, LastModified: now, } - info := transformObjectInfo(objInfo) + info := fromObjectInfo(objInfo) is := is.New(t) is.Equal(info.IsDir(), false) is.Equal(info.Mode(), fs.FileMode(0o400)) @@ -140,7 +140,7 @@ func (fs *Fs) Remove(name string) error { defer cancel() err := fs.client.RemoveObject(ctx, fs.bucket, name, minio.RemoveObjectOptions{}) if err != nil { - return transformError(err) + return fromErrorResponse(err) } return nil } @@ -158,7 +158,7 @@ func (fs *Fs) RemoveAll(path string) error { errc := fs.client.RemoveObjects(ctx, fs.bucket, objectsCh, minio.RemoveObjectsOptions{}) for err := range errc { if err.Err != nil { - return transformError(err.Err) + return fromErrorResponse(err.Err) } } return nil @@ -173,11 +173,11 @@ func (fs *Fs) Rename(oldname, newname string) error { minio.CopyDestOptions{Bucket: fs.bucket, Object: newname}, minio.CopySrcOptions{Bucket: fs.bucket, Object: oldname}) if err != nil { - return transformError(err) + return fromErrorResponse(err) } err = fs.client.RemoveObject(ctx, fs.bucket, oldname, minio.RemoveObjectOptions{}) if err != nil { - return transformError(err) + return fromErrorResponse(err) } return nil @@ -190,9 +190,9 @@ func (fs *Fs) Stat(name string) (os.FileInfo, error) { defer cancel() info, err := fs.client.StatObject(ctx, fs.bucket, name, minio.GetObjectOptions{}) if err != nil { - return nil, transformError(err) + return nil, fromErrorResponse(err) } - return transformObjectInfo(info), nil + return fromObjectInfo(info), nil } // Chmod changes the mode of the named file to mode. @@ -219,7 +219,7 @@ func (fs *Fs) newObjectReader(key string) (io.ReadSeekCloser, context.CancelFunc obj, err := fs.client.GetObject(ctx, fs.bucket, key, minio.GetObjectOptions{}) if err != nil { cancel() - return nil, nil, transformError(err) + return nil, nil, fromErrorResponse(err) } return obj, cancel, nil } @@ -236,7 +236,7 @@ func (fs *Fs) newObjectWriter(key string) (io.WriteCloser, context.CancelFunc, < return } _, err = fs.client.PutObject(ctx, fs.bucket, key, bytes.NewReader(b), int64(len(b)), minio.PutObjectOptions{}) - errc <- transformError(err) + errc <- fromErrorResponse(err) }() return w, cancel, errc @@ -259,7 +259,7 @@ func (fs *Fs) readdir(directory string, count int, onlyDir bool) ([]os.FileInfo, if onlyDir && !isDirPath(objectInfo.Key) { continue } - results = append(results, transformObjectInfo(objectInfo)) + results = append(results, fromObjectInfo(objectInfo)) n += 1 if n > maxcount { break @@ -269,21 +269,6 @@ func (fs *Fs) readdir(directory string, count int, onlyDir bool) ([]os.FileInfo, return results, nil } -func transformError(err error) error { - resp, ok := err.(minio.ErrorResponse) - if !ok { - return err - } - - switch resp.Code { - case "NoSuchKey": - return afero.ErrFileNotFound - case "EntityTooLarge": - return afero.ErrTooLarge - } - return err -} - func isDirPath(p string) bool { return strings.HasSuffix(p, "/") } |
