in src/main/java/org/apache/sling/api/servlets/SlingJakartaSafeMethodsServlet.java [173:207]
protected void doTrace(
@NotNull SlingJakartaHttpServletRequest request, @NotNull SlingJakartaHttpServletResponse response)
throws ServletException, IOException {
String CRLF = "\r\n";
StringBuffer responseString = new StringBuffer();
responseString.append("TRACE ").append(request.getRequestURI());
responseString.append(' ').append(request.getProtocol());
Enumeration<?> reqHeaderEnum = request.getHeaderNames();
while (reqHeaderEnum.hasMoreElements()) {
String headerName = (String) reqHeaderEnum.nextElement();
Enumeration<?> reqHeaderValEnum = request.getHeaders(headerName);
while (reqHeaderValEnum.hasMoreElements()) {
responseString.append(CRLF);
responseString.append(headerName).append(": ");
responseString.append(reqHeaderValEnum.nextElement());
}
}
responseString.append(CRLF);
String charset = "UTF-8";
byte[] rawResponse = responseString.toString().getBytes(charset);
int responseLength = rawResponse.length;
response.setContentType("message/http");
response.setCharacterEncoding(charset);
response.setContentLength(responseLength);
ServletOutputStream out = response.getOutputStream();
out.write(rawResponse);
}