@@ -287,12 +287,8 @@ func (c *httpStorageClient) GetBucket(ctx context.Context, bucket string, conds
287287 return err
288288 }, s .retry , s .idempotent )
289289
290- var e * googleapi.Error
291- if ok := errors .As (err , & e ); ok && e .Code == http .StatusNotFound {
292- return nil , ErrBucketNotExist
293- }
294290 if err != nil {
295- return nil , err
291+ return nil , formatBucketError ( err )
296292 }
297293 return newBucket (resp )
298294}
@@ -382,11 +378,7 @@ func (c *httpStorageClient) ListObjects(ctx context.Context, bucket string, q *Q
382378 return err
383379 }, s .retry , s .idempotent )
384380 if err != nil {
385- var e * googleapi.Error
386- if ok := errors .As (err , & e ); ok && e .Code == http .StatusNotFound {
387- err = ErrBucketNotExist
388- }
389- return "" , err
381+ return "" , formatBucketError (err )
390382 }
391383 for _ , item := range resp .Items {
392384 it .items = append (it .items , newObject (item ))
@@ -416,11 +408,7 @@ func (c *httpStorageClient) DeleteObject(ctx context.Context, bucket, object str
416408 req .UserProject (s .userProject )
417409 }
418410 err := run (ctx , func (ctx context.Context ) error { return req .Context (ctx ).Do () }, s .retry , s .idempotent )
419- var e * googleapi.Error
420- if ok := errors .As (err , & e ); ok && e .Code == http .StatusNotFound {
421- return ErrObjectNotExist
422- }
423- return err
411+ return formatObjectErr (err )
424412}
425413
426414func (c * httpStorageClient ) GetObject (ctx context.Context , params * getObjectParams , opts ... storageOption ) (* ObjectAttrs , error ) {
@@ -445,12 +433,8 @@ func (c *httpStorageClient) GetObject(ctx context.Context, params *getObjectPara
445433 obj , err = req .Context (ctx ).Do ()
446434 return err
447435 }, s .retry , s .idempotent )
448- var e * googleapi.Error
449- if ok := errors .As (err , & e ); ok && e .Code == http .StatusNotFound {
450- return nil , ErrObjectNotExist
451- }
452436 if err != nil {
453- return nil , err
437+ return nil , formatObjectErr ( err )
454438 }
455439 return newObject (obj ), nil
456440}
@@ -555,12 +539,8 @@ func (c *httpStorageClient) UpdateObject(ctx context.Context, params *updateObje
555539 var obj * raw.Object
556540 var err error
557541 err = run (ctx , func (ctx context.Context ) error { obj , err = call .Context (ctx ).Do (); return err }, s .retry , s .idempotent )
558- var e * googleapi.Error
559- if errors .As (err , & e ) && e .Code == http .StatusNotFound {
560- return nil , ErrObjectNotExist
561- }
562542 if err != nil {
563- return nil , err
543+ return nil , formatObjectErr ( err )
564544 }
565545 return newObject (obj ), nil
566546}
@@ -585,9 +565,8 @@ func (c *httpStorageClient) RestoreObject(ctx context.Context, params *restoreOb
585565 var obj * raw.Object
586566 var err error
587567 err = run (ctx , func (ctx context.Context ) error { obj , err = req .Context (ctx ).Do (); return err }, s .retry , s .idempotent )
588- var e * googleapi.Error
589- if ok := errors .As (err , & e ); ok && e .Code == http .StatusNotFound {
590- return nil , ErrObjectNotExist
568+ if err != nil {
569+ return nil , formatObjectErr (err )
591570 }
592571 return newObject (obj ), err
593572}
@@ -610,9 +589,8 @@ func (c *httpStorageClient) MoveObject(ctx context.Context, params *moveObjectPa
610589 var obj * raw.Object
611590 var err error
612591 err = run (ctx , func (ctx context.Context ) error { obj , err = req .Context (ctx ).Do (); return err }, s .retry , s .idempotent )
613- var e * googleapi.Error
614- if ok := errors .As (err , & e ); ok && e .Code == http .StatusNotFound {
615- return nil , ErrObjectNotExist
592+ if err != nil {
593+ return nil , formatObjectErr (err )
616594 }
617595 return newObject (obj ), err
618596}
@@ -800,11 +778,7 @@ func (c *httpStorageClient) ComposeObject(ctx context.Context, req *composeObjec
800778 retryCall := func (ctx context.Context ) error { obj , err = call .Context (ctx ).Do (); return err }
801779
802780 if err := run (ctx , retryCall , s .retry , s .idempotent ); err != nil {
803- var e * googleapi.Error
804- if errors .As (err , & e ) && e .Code == http .StatusNotFound {
805- return nil , fmt .Errorf ("%w: %w" , ErrObjectNotExist , err )
806- }
807- return nil , err
781+ return nil , formatObjectErr (err )
808782 }
809783 return newObject (obj ), nil
810784}
@@ -851,11 +825,7 @@ func (c *httpStorageClient) RewriteObject(ctx context.Context, req *rewriteObjec
851825 retryCall := func (ctx context.Context ) error { res , err = call .Context (ctx ).Do (); return err }
852826
853827 if err := run (ctx , retryCall , s .retry , s .idempotent ); err != nil {
854- var e * googleapi.Error
855- if errors .As (err , & e ) && e .Code == http .StatusNotFound {
856- return nil , fmt .Errorf ("%w: %w" , ErrObjectNotExist , err )
857- }
858- return nil , err
828+ return nil , formatObjectErr (err )
859829 }
860830
861831 r := & rewriteObjectResponse {
@@ -1420,13 +1390,7 @@ func readerReopen(ctx context.Context, header http.Header, params *newRangeReade
14201390 err = run (ctx , func (ctx context.Context ) error {
14211391 res , err = doDownload (ctx )
14221392 if err != nil {
1423- var e * googleapi.Error
1424- if errors .As (err , & e ) {
1425- if e .Code == http .StatusNotFound {
1426- return ErrObjectNotExist
1427- }
1428- }
1429- return err
1393+ return formatObjectErr (err )
14301394 }
14311395
14321396 if res .StatusCode == http .StatusNotFound {
@@ -1435,7 +1399,7 @@ func readerReopen(ctx context.Context, header http.Header, params *newRangeReade
14351399 return ErrObjectNotExist
14361400 }
14371401 if res .StatusCode < 200 || res .StatusCode > 299 {
1438- body , _ := ioutil .ReadAll (res .Body )
1402+ body , _ := io .ReadAll (res .Body )
14391403 res .Body .Close ()
14401404 return & googleapi.Error {
14411405 Code : res .StatusCode ,
0 commit comments