File tree Expand file tree Collapse file tree 1 file changed +18
-17
lines changed Expand file tree Collapse file tree 1 file changed +18
-17
lines changed Original file line number Diff line number Diff line change @@ -92,29 +92,30 @@ func (rb *resumableBody) Read(p []byte) (n int, err error) {
9292 return 0 , io .EOF
9393 }
9494
95- resume:
96- if n , err = rb .rc .Read (p ); n > 0 {
97- rb .transferred += int64 (n )
98- }
95+ for {
96+ if n , err = rb .rc .Read (p ); n > 0 {
97+ rb .transferred += int64 (n )
98+ }
9999
100- if err == nil {
101- return
102- }
100+ if err == nil {
101+ return
102+ }
103103
104- if errors .Is (err , io .EOF ) && rb .total >= 0 && rb .transferred == rb .total {
105- return
106- }
104+ if errors .Is (err , io .EOF ) && rb .total >= 0 && rb .transferred == rb .total {
105+ return
106+ }
107+
108+ if err = rb .resume (err ); err == nil {
109+ if n == 0 {
110+ // zero bytes read, try reading again with new response.Body
111+ continue
112+ }
107113
108- if err = rb .resume (err ); err == nil {
109- if n == 0 {
110- // zero bytes read, try reading again with new response.Body
111- goto resume
114+ // already read some bytes from previous response.Body, returns and waits for next Read operation
112115 }
113116
114- // already read some bytes from previous response.Body, returns and waits for next Read operation
117+ return n , err
115118 }
116-
117- return n , err
118119}
119120
120121func (rb * resumableBody ) Close () (err error ) {
You can’t perform that action at this time.
0 commit comments