private ModelAppResponse routeREST(HTTPRequest request, ModelUser user, BufferedReader is) {
		HTTPMethod method = request.getMethod();
		String path = request.getRequestedPath();
		String body = null;
		if (method == HTTPMethod.POST || method == HTTPMethod.PUT) {
			try {
				body = HelperUtils.readRequestBody(is, request);
			} catch (IOException | WebServerBadRequestException e) {
				return ModelAppResponse.responseError(e);
			}
		}

		if (path.startsWith(remindersManager.getServicePath())) {
			return remindersManager.handleRequest(method, path.substring(remindersManager.getServicePath().length()),
					body, user);
		} else if (path.startsWith(tasksManager.getServicePath())) {
			return tasksManager.handleRequest(method, path.substring(tasksManager.getServicePath().length()), body,
					user);
		} else if (path.startsWith(pollsManager.getServicePath())) {
			return pollsManager.handleRequest(method, path.substring(pollsManager.getServicePath().length()), body,
					user);
		} else {
			return ModelAppResponse.responseError(new WebServerBadRequestException("Unknown request: " + method + " , "
					+ path));
		}
	}