Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alist-org
GitHub Repository: alist-org/alist
Path: blob/main/internal/errs/errors.go
1560 views
1
package errs
2
3
import (
4
"errors"
5
"fmt"
6
7
pkgerr "github.com/pkg/errors"
8
)
9
10
var (
11
NotImplement = errors.New("not implement")
12
NotSupport = errors.New("not support")
13
RelativePath = errors.New("access using relative path is not allowed")
14
15
MoveBetweenTwoStorages = errors.New("can't move files between two storages, try to copy")
16
UploadNotSupported = errors.New("upload not supported")
17
18
MetaNotFound = errors.New("meta not found")
19
StorageNotFound = errors.New("storage not found")
20
StreamIncomplete = errors.New("upload/download stream incomplete, possible network issue")
21
StreamPeekFail = errors.New("StreamPeekFail")
22
23
UnknownArchiveFormat = errors.New("unknown archive format")
24
WrongArchivePassword = errors.New("wrong archive password")
25
DriverExtractNotSupported = errors.New("driver extraction not supported")
26
)
27
28
// NewErr wrap constant error with an extra message
29
// use errors.Is(err1, StorageNotFound) to check if err belongs to any internal error
30
func NewErr(err error, format string, a ...any) error {
31
return fmt.Errorf("%w; %s", err, fmt.Sprintf(format, a...))
32
}
33
34
func IsNotFoundError(err error) bool {
35
return errors.Is(pkgerr.Cause(err), ObjectNotFound) || errors.Is(pkgerr.Cause(err), StorageNotFound)
36
}
37
38
func IsNotSupportError(err error) bool {
39
return errors.Is(pkgerr.Cause(err), NotSupport)
40
}
41
func IsNotImplement(err error) bool {
42
return errors.Is(pkgerr.Cause(err), NotImplement)
43
}
44
45