@Override public String getBody() throws GetBodyException { ServletInputStream is = null; Reader reader = null; try { is = request.getInputStream(); reader = new BufferedReader( new InputStreamReader(is, request.getCharacterEncoding() != null ? request.getCharacterEncoding() : StandardCharsets.UTF_8.name()) ); StringBuilder textBuilder = new StringBuilder(); int c; while ((c = reader.read()) != -1) { textBuilder.append((char) c); } return textBuilder.toString(); } catch (Throwable e) { throw new GetBodyException("An error occurred while extracting the request body", e); } finally { safeCloseCloseable(reader); safeCloseCloseable(is); } }