File tree Expand file tree Collapse file tree 1 file changed +19
-5
lines changed Expand file tree Collapse file tree 1 file changed +19
-5
lines changed Original file line number Diff line number Diff line change @@ -309,11 +309,7 @@ func ossToObjectError(err error, params ...string) error {
309
309
case "NoSuchBucket" :
310
310
err = minio.BucketNotFound {Bucket : bucket }
311
311
case "NoSuchKey" :
312
- if object != "" {
313
- err = minio.ObjectNotFound {Bucket : bucket , Object : object }
314
- } else {
315
- err = minio.BucketNotFound {Bucket : bucket }
316
- }
312
+ err = notFoundErr (ossErr , bucket , object )
317
313
case "InvalidObjectName" :
318
314
err = minio.ObjectNameInvalid {Bucket : bucket , Object : object }
319
315
case "AccessDenied" :
@@ -326,11 +322,29 @@ func ossToObjectError(err error, params ...string) error {
326
322
err = minio.SignatureDoesNotMatch {}
327
323
case "InvalidPart" :
328
324
err = minio.InvalidPart {}
325
+ default :
326
+ if er := notFoundErr (ossErr , bucket , object ); er != nil {
327
+ err = er
328
+ }
329
329
}
330
330
331
331
return err
332
332
}
333
333
334
+ func notFoundErr (ossErr oss.ServiceError , bucket , object string ) (err error ) {
335
+ if ossErr .StatusCode == http .StatusNotFound && ossErr .Code == "" {
336
+ ossErr .Code = "NoSuchKey"
337
+ }
338
+ if ossErr .Code == "NoSuchKey" {
339
+ if object != "" {
340
+ err = minio.ObjectNotFound {Bucket : bucket , Object : object }
341
+ } else {
342
+ err = minio.BucketNotFound {Bucket : bucket }
343
+ }
344
+ }
345
+ return err
346
+ }
347
+
334
348
// ossObjects implements gateway for Aliyun Object Storage Service.
335
349
type ossObjects struct {
336
350
minio.GatewayUnsupported
You can’t perform that action at this time.
0 commit comments