@@ -537,6 +537,7 @@ impl GcsBackend {
537537 . map_err ( |e| Error :: reqwest ( "GCS: get metadata request" , e) ) ?;
538538
539539 if resp. status ( ) == StatusCode :: NOT_FOUND {
540+ resp. drain_body ( ) . await ;
540541 return Ok ( None ) ;
541542 }
542543
@@ -595,7 +596,9 @@ impl GcsBackend {
595596 . send ( )
596597 . await
597598 . check_error ( "GCS: update custom time" )
598- . await ?;
599+ . await ?
600+ . drain_body ( )
601+ . await ;
599602 Ok ( ( ) )
600603 } )
601604 . await
@@ -667,7 +670,9 @@ impl Backend for GcsBackend {
667670 . send ( )
668671 . await
669672 . check_error ( "GCS: upload object" )
670- . await ?;
673+ . await ?
674+ . drain_body ( )
675+ . await ;
671676
672677 Ok ( ( ) )
673678 }
@@ -701,17 +706,14 @@ impl Backend for GcsBackend {
701706 . get ( header:: CONTENT_RANGE )
702707 . and_then ( |v| v. to_str ( ) . ok ( ) ) ;
703708 let total = raw. and_then ( ContentRange :: parse_unsatisfiable_total) ;
704- match total {
705- Some ( total) => return Err ( Error :: RangeNotSatisfiable { total } ) ,
706- None => {
707- return Err ( Error :: Generic {
708- context : format ! (
709- "GCS: 416 response with invalid Content-Range: {raw:?}"
710- ) ,
711- cause : None ,
712- } ) ;
713- }
714- }
709+ let err = match total {
710+ Some ( total) => Error :: RangeNotSatisfiable { total } ,
711+ None => Error :: generic ( format ! (
712+ "GCS: 416 response with invalid Content-Range: {raw:?}"
713+ ) ) ,
714+ } ;
715+ resp. drain_body ( ) . await ;
716+ return Err ( err) ;
715717 }
716718
717719 resp. check_error ( "GCS: get payload" ) . await
@@ -764,10 +766,14 @@ impl Backend for GcsBackend {
764766
765767 // Do not error for objects that do not exist
766768 if resp. status ( ) == StatusCode :: NOT_FOUND {
769+ resp. drain_body ( ) . await ;
767770 return Ok ( ( ) ) ;
768771 }
769772
770- resp. check_error ( "GCS: delete object" ) . await ?;
773+ resp. check_error ( "GCS: delete object" )
774+ . await ?
775+ . drain_body ( )
776+ . await ;
771777
772778 Ok ( ( ) )
773779 } )
@@ -960,6 +966,8 @@ impl MultipartUploadBackend for GcsBackend {
960966 . map ( |s| s. to_owned ( ) )
961967 . ok_or_else ( || Error :: generic ( "GCS: upload part response missing ETag header" ) ) ?;
962968
969+ resp. drain_body ( ) . await ;
970+
963971 Ok ( etag)
964972 }
965973
@@ -1021,7 +1029,9 @@ impl MultipartUploadBackend for GcsBackend {
10211029 . send ( )
10221030 . await
10231031 . check_error ( "GCS: abort multipart upload" )
1024- . await ?;
1032+ . await ?
1033+ . drain_body ( )
1034+ . await ;
10251035
10261036 Ok ( ( ) )
10271037 }
0 commit comments