mirror of
https://github.com/rclone/rclone.git
synced 2024-12-11 17:51:12 +01:00
e7bd392a69
This fixes an important bug with listing that affects users with more than 500 objects in a listing operation.
29 lines
572 B
Go
29 lines
572 B
Go
// Copyright (C) 2019 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
package errs2
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/zeebo/errs"
|
|
|
|
"storj.io/common/rpc/rpcstatus"
|
|
)
|
|
|
|
// IsCanceled returns true, when the error is a cancellation.
|
|
func IsCanceled(err error) bool {
|
|
return errs.IsFunc(err, func(err error) bool {
|
|
return err == context.Canceled ||
|
|
rpcstatus.Code(err) == rpcstatus.Canceled
|
|
})
|
|
}
|
|
|
|
// IgnoreCanceled returns nil, when the operation was about canceling.
|
|
func IgnoreCanceled(err error) error {
|
|
if IsCanceled(err) {
|
|
return nil
|
|
}
|
|
return err
|
|
}
|