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