in src/main/java/org/apache/sling/servlets/resolver/internal/defaults/DefaultErrorHandlerServlet.java [94:132]
protected void renderHtml(
ServletRequest req,
ServletResponse res,
String statusMessage,
String requestUri,
String servletName,
int statusCode)
throws IOException {
// start the response message
final PrintWriter pw = sendIntro((HttpServletResponse) res, statusCode, statusMessage, requestUri, servletName);
// write the exception message
final PrintWriter escapingWriter = new PrintWriter(ResponseUtil.getXmlEscapingWriter(pw));
// dump the stack trace
if (req.getAttribute(RequestDispatcher.ERROR_EXCEPTION) instanceof Throwable) {
final Throwable throwable = (Throwable) req.getAttribute(RequestDispatcher.ERROR_EXCEPTION);
pw.println("<h3>Exception:</h3>");
pw.println("<pre>");
pw.flush();
printStackTrace(escapingWriter, throwable);
escapingWriter.flush();
pw.println("</pre>");
}
// dump the request progress tracker
if (req instanceof SlingJakartaHttpServletRequest) {
final RequestProgressTracker tracker = ((SlingJakartaHttpServletRequest) req).getRequestProgressTracker();
pw.println("<h3>Request Progress:</h3>");
pw.println("<pre>");
pw.flush();
tracker.dump(escapingWriter);
escapingWriter.flush();
pw.println("</pre>");
}
// conclude the response message
sendEpilogue(pw);
}