/** * Handles a servlet request. * * @param request the {@link HttpServletRequest} * @param response the {@link HttpServletResponse} * @throws IOException on error */ public void handle(HttpServletRequest request, HttpServletResponse response) throws IOException { if (LOGGER.isLoggable(Level.FINE)) { LOGGER.log(Level.FINE, "Handing HttpServletRequest " + request.getMethod()); } // set response type response.setContentType(JSONRPC_RESPONSE_CONTENT_TYPE); // setup streams InputStream input = null; OutputStream output = response.getOutputStream(); // POST if (request.getMethod().equals("POST")) { input = request.getInputStream(); // GET } else if (request.getMethod().equals("GET")) { input = createInputStream( request.getParameter("method"), request.getParameter("id"), request.getParameter("params")); // invalid request } else { throw new IOException("Invalid request method, only POST and GET is supported"); } // service the request handle(input, output); }