def process_ust_router_reply_message(message, error_description,
error_class = RuntimeError,
unexpected_error_class = RuntimeError)
if message[0] != 'status'
raise unexpected_error_class,
"#{error_description}: expected UstRouter to respond with " \
"'status', but got #{message.inspect} instead"
end
if message[1] == 'error'
if message[2]
raise error_class, "#{error_description}: #{message[2]}"
else
raise error_class, "#{error_description} (no server message given)"
end
elsif message[1] != 'ok'
raise unexpected_error_class,
"#{error_description}: expected UstRouter to respond with " \
"'ok' or 'error', but got #{message.inspect} instead"
end
end