# File src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/utils.rb, line 141
    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