summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarin Ivanov <[email protected]>2022-08-15 05:15:14 +0300
committerMarin Ivanov <[email protected]>2022-08-15 05:15:14 +0300
commit28224be36da864bfca19e30de920dbd195d7ef5b (patch)
tree158be382a95ef159d2b644a3600cf4d60460bbda
parent43069c737dde59bd86e5b09c496d9df90f29d136 (diff)
Rename transform* => from*
-rw-r--r--errors.go22
-rw-r--r--file.go4
-rw-r--r--fileinfo.go2
-rw-r--r--fileinfo_test.go2
-rw-r--r--fs.go33
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
+}
diff --git a/file.go b/file.go
index 13b58ee..061e6a2 100644
--- a/file.go
+++ b/file.go
@@ -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))
diff --git a/fs.go b/fs.go
index 9ee3c33..4ccfd45 100644
--- a/fs.go
+++ b/fs.go
@@ -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, "/")
}