Skip to content

Commit ba2c5e1

Browse files
authored
Fix IsObjNotFoundErr() for wrapped errors (#3973)
Signed-off-by: Marco Pracucci <[email protected]>
1 parent 2a99980 commit ba2c5e1

File tree

5 files changed

+5
-5
lines changed

5 files changed

+5
-5
lines changed

cos/cos.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ func (b *Bucket) Exists(ctx context.Context, name string) (bool, error) {
205205

206206
// IsObjNotFoundErr returns true if error means that object is not found. Relevant to Get operations.
207207
func (b *Bucket) IsObjNotFoundErr(err error) bool {
208-
switch tmpErr := err.(type) {
208+
switch tmpErr := errors.Cause(err).(type) {
209209
case *cos.ErrorResponse:
210210
if tmpErr.Code == "NoSuchKey" ||
211211
(tmpErr.Response != nil && tmpErr.Response.StatusCode == http.StatusNotFound) {

gcs/gcs.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ func (b *Bucket) Delete(ctx context.Context, name string) error {
183183

184184
// IsObjNotFoundErr returns true if error means that object is not found. Relevant to Get operations.
185185
func (b *Bucket) IsObjNotFoundErr(err error) bool {
186-
return err == storage.ErrObjectNotExist
186+
return errors.Is(err, storage.ErrObjectNotExist)
187187
}
188188

189189
func (b *Bucket) Close() error {

inmem.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ func (b *InMemBucket) Delete(_ context.Context, name string) error {
197197

198198
// IsObjNotFoundErr returns true if error means that object is not found. Relevant to Get operations.
199199
func (b *InMemBucket) IsObjNotFoundErr(err error) bool {
200-
return errors.Cause(err) == errNotFound
200+
return errors.Is(err, errNotFound)
201201
}
202202

203203
func (b *InMemBucket) Close() error { return nil }

oss/oss.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ func (b *Bucket) Exists(ctx context.Context, name string) (bool, error) {
354354

355355
// IsObjNotFoundErr returns true if error means that object is not found. Relevant to Get operations.
356356
func (b *Bucket) IsObjNotFoundErr(err error) bool {
357-
switch aliErr := err.(type) {
357+
switch aliErr := errors.Cause(err).(type) {
358358
case alioss.ServiceError:
359359
if aliErr.StatusCode == http.StatusNotFound {
360360
return true

s3/s3.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ func (b *Bucket) Delete(ctx context.Context, name string) error {
492492

493493
// IsObjNotFoundErr returns true if error means that object is not found. Relevant to Get operations.
494494
func (b *Bucket) IsObjNotFoundErr(err error) bool {
495-
return minio.ToErrorResponse(err).Code == "NoSuchKey"
495+
return minio.ToErrorResponse(errors.Cause(err)).Code == "NoSuchKey"
496496
}
497497

498498
func (b *Bucket) Close() error { return nil }

0 commit comments

Comments
 (0)