class Excon::Socket
def read_block(max_length)
def read_block(max_length) @socket.read(max_length) rescue OpenSSL::SSL::SSLError => error if error.message == 'read would block' if timeout_reached('read') raise_timeout_error('read') else retry end else raise(error) end rescue Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable if @read_buffer.empty? if timeout_reached('read') raise_timeout_error('read') else retry end end rescue EOFError @eof = true end