diff --git a/lib/http/connection.rb b/lib/http/connection.rb index 28d8e0c5..82a0c7a4 100644 --- a/lib/http/connection.rb +++ b/lib/http/connection.rb @@ -97,13 +97,9 @@ def readpartial(size = BUFFER_SIZE) # Reads data from socket up until headers are loaded # @return [void] def read_headers! - loop do - if read_more(BUFFER_SIZE) == :eof - raise ConnectionError, "couldn't read response headers" unless @parser.headers? - break - elsif @parser.headers? - break - end + until @parser.headers? + result = read_more(BUFFER_SIZE) + raise ConnectionError, "couldn't read response headers" if result == :eof end set_keep_alive