private void process_cmd(Request req, Response res, Context.Status status) throws Exception {
		Parameters params = req.getParameters();
		if (params == null) {
			process_error(TYPESYNTAX, SMESPAR, res);
			return;
		}

		if (req.unparsedURI().toString().equals("*") || req.unparsedURI().toString().endsWith("/*")) {
			process_node_cmd(req, res, status);
			return;
		}

		Context context = new Context();
		VHost host = new VHost();
		Enumeration<String> names = params.getParameterNames();
		while (names.hasMoreElements()) {
			String name = (String) names.nextElement();
			String[] value = params.getParameterValues(name);
			if (name.equalsIgnoreCase("JVMRoute")) {
				if (conf.getNodeId(value[0]) == -1) {
					process_error(TYPEMEM, MNODERD, res);
					return;
				}
				host.setJVMRoute(value[0]);
				context.setJVMRoute(value[0]);
			} else if (name.equalsIgnoreCase("Alias")) {
				// Alias is something like =default-host,localhost,example.com
				String aliases[] = value[0].split(",");
				host.setAliases(Arrays.asList(aliases));
			} else if (name.equalsIgnoreCase("Context")) {
				context.setPath(value[0]);
			}

		}
		if (context.getJVMRoute() == null) {
			process_error(TYPESYNTAX, SROUBAD, res);
			return;
		}
		context.setStatus(status);
		long id = conf.insertupdate(host);
		context.setHostid(id);
		conf.insertupdate(context);
		process_OK(res);
	}