diff --git a/Generator/generator-botbuilder-java/generators/app/templates/app.java b/Generator/generator-botbuilder-java/generators/app/templates/app.java index 11acd20c5..25f1d699b 100644 --- a/Generator/generator-botbuilder-java/generators/app/templates/app.java +++ b/Generator/generator-botbuilder-java/generators/app/templates/app.java @@ -82,25 +82,9 @@ public void handle(HttpExchange httpExchange) throws IOException { } } - private String getRequestBody(HttpExchange httpExchange) throws IOException { - StringBuilder buffer = new StringBuilder(); - InputStream stream = httpExchange.getRequestBody(); - int rByte; - while ((rByte = stream.read()) != -1) { - buffer.append((char)rByte); - } - stream.close(); - if (buffer.length() > 0) { - return URLDecoder.decode(buffer.toString(), "UTF-8"); - } - return ""; - } - private Activity getActivity(HttpExchange httpExchange) { - try { - String body = getRequestBody(httpExchange); - LOGGER.log(Level.INFO, body); - return objectMapper.readValue(body, Activity.class); + try (InputStream is = httpExchange.getRequestBody()) { + return objectMapper.readValue(is, Activity.class); } catch (Exception ex) { LOGGER.log(Level.WARNING, "Failed to get activity", ex); return null; diff --git a/samples/servlet-echo/src/main/java/com/microsoft/bot/sample/servlet/ControllerBase.java b/samples/servlet-echo/src/main/java/com/microsoft/bot/sample/servlet/ControllerBase.java index 2e9dd41c9..4b7f77cee 100644 --- a/samples/servlet-echo/src/main/java/com/microsoft/bot/sample/servlet/ControllerBase.java +++ b/samples/servlet-echo/src/main/java/com/microsoft/bot/sample/servlet/ControllerBase.java @@ -82,22 +82,8 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response) // Creates an Activity object from the request private Activity getActivity(HttpServletRequest request) throws IOException { - String body = getRequestBody(request); - return objectMapper.readValue(body, Activity.class); - } - - private String getRequestBody(HttpServletRequest request) throws IOException { - StringBuilder buffer = new StringBuilder(); - try (InputStream stream = request.getInputStream()) { - int rByte; - while ((rByte = stream.read()) != -1) { - buffer.append((char) rByte); - } - stream.close(); - if (buffer.length() > 0) { - return buffer.toString(); - } - return ""; + try(InputStream is = request.getInputStream()) { + return objectMapper.readValue(is, Activity.class); } } }