diff --git a/lib/net/http/response.rb b/lib/net/http/response.rb index fb48490..038d821 100644 --- a/lib/net/http/response.rb +++ b/lib/net/http/response.rb @@ -611,22 +611,21 @@ def read_body_0(dest) inflater do |inflate_body_io| if chunked? read_chunked dest, inflate_body_io - return - end - - @socket = inflate_body_io + else + @socket = inflate_body_io - clen = content_length() - if clen - @socket.read clen, dest, @ignore_eof - return - end - clen = range_length() - if clen - @socket.read clen, dest - return + clen = content_length() + if clen + @socket.read clen, dest, @ignore_eof + else + clen = range_length() + if clen + @socket.read clen, dest + else + @socket.read_all dest + end + end end - @socket.read_all dest end end