You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by pa...@apache.org on 2017/11/02 23:06:09 UTC
[sling-org-apache-sling-servlets-get] branch master updated:
SLING-7228: Don't close response writer when sending json responses.
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 <ka...@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" <co...@sling.apache.org>'].