Пример #1
0
  /**
   * 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);
  }