This is an automated email from the ASF dual-hosted git repository. pauls pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-servlets-get.git
The following commit(s) were added to refs/heads/master by this push: new 3fbf470 SLING-7228: Don't close response writer when sending json responses. 3fbf470 is described below commit 3fbf470683a9a53f2151e94f86e5ca4121b43bea Author: Karl Pauls <karlpa...@gmail.com> AuthorDate: Fri Nov 3 00:05:53 2017 +0100 SLING-7228: Don't close response writer when sending json responses. --- .../get/impl/helpers/JsonRendererServlet.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/apache/sling/servlets/get/impl/helpers/JsonRendererServlet.java b/src/main/java/org/apache/sling/servlets/get/impl/helpers/JsonRendererServlet.java index c2bfb37..253df1e 100644 --- a/src/main/java/org/apache/sling/servlets/get/impl/helpers/JsonRendererServlet.java +++ b/src/main/java/org/apache/sling/servlets/get/impl/helpers/JsonRendererServlet.java @@ -17,6 +17,7 @@ package org.apache.sling.servlets.get.impl.helpers; import java.io.IOException; +import java.io.StringWriter; import javax.json.Json; import javax.json.stream.JsonGenerator; @@ -116,22 +117,26 @@ public class JsonRendererServlet extends SlingSafeMethodsServlet { // If no rendering options, use the plain toString() method, for // backwards compatibility. Output might be slightly different // with prettyPrint and no options - Json.createGenerator(resp.getWriter()).write(traversor.getJSONObject()).close(); + StringWriter writer = new StringWriter(); + Json.createGenerator(writer).write(traversor.getJSONObject()).close(); + resp.getWriter().write(writer.toString()); } } else { // We are not allowed to do the dump. - // Send a 300 + // Send a 300 String tidyUrl = (tidy) ? "tidy." : ""; resp.setStatus(HttpServletResponse.SC_MULTIPLE_CHOICES); - JsonGenerator writer = Json.createGenerator(resp.getWriter()); - writer.writeStartArray(); + StringWriter writer = new StringWriter(); + JsonGenerator json = Json.createGenerator(writer); + json.writeStartArray(); while (allowedLevel >= 0) { - writer.write(r.getResourceMetadata().getResolutionPath() + "." + tidyUrl + allowedLevel + ".json"); + json.write(r.getResourceMetadata().getResolutionPath() + "." + tidyUrl + allowedLevel + ".json"); allowedLevel--; } - writer.writeEnd(); - writer.close(); + json.writeEnd(); + json.close(); + resp.getWriter().write(writer.toString()); } } catch (Exception je) { reportException(je); -- To stop receiving notification emails like this one, please contact ['"commits@sling.apache.org" <commits@sling.apache.org>'].