private void handleCrossDomainRpc( HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws ServletException, IOException { CrossDomainRpc rpc; try { rpc = new CrossDomainRpcLoader().loadRpc(servletRequest); } catch (IllegalArgumentException e) { servletResponse.setStatus(HttpServletResponse.SC_BAD_REQUEST); servletResponse.getOutputStream().println(e.getMessage()); servletResponse.getOutputStream().flush(); return; } HttpRequest request = new HttpRequest( HttpMethod.valueOf(rpc.getMethod()), rpc.getPath()); request.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.JSON_UTF_8.toString()); request.setContent(rpc.getContent()); HttpResponse response = commandHandler.handleRequest(request); sendResponse(response, servletResponse); }