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' select_with_timeout(@socket, :read) && retry else raise(error) end rescue *READ_RETRY_EXCEPTION_CLASSES select_with_timeout(@socket, :read) && retry rescue EOFError @eof = true end