in src/main/java/org/apache/sling/models/impl/ExportServlet.java [89:125]
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response)
throws ServletException, IOException {
String contentType = request.getResponseContentType();
response.setContentType(contentType);
// workaround for SLING-7344
if (APPLICATION_JSON.equals(contentType)) {
response.setCharacterEncoding(UTF_8);
}
Map<String, String> options = createOptionMap(request);
ScriptHelper scriptHelper = new ScriptHelper(bundleContext, null, request, response);
try {
addScriptBindings(scriptHelper, request, response);
String exported;
try {
exported = accessor.getExportedString(request, options, modelFactory, exporterName);
} catch (ExportException e) {
logger.error("Could not perform export with " + exporterName + " requested by model.", e);
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return;
} catch (MissingExporterException e) {
logger.error("Could not get exporter " + exporterName + " requested by model.", e);
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return;
}
if (exported == null) {
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
return;
}
response.getWriter().write(exported);
} finally {
scriptHelper.cleanup();
}
}