in src/main/java/org/apache/sling/engine/impl/SlingJakartaHttpServletResponseImpl.java [444:473]
private String getMessage(@Nullable String currentContentType, @Nullable String setContentType) {
String unmatchedStartTimers = findUnmatchedTimerStarts();
String allMessages =
getLastMessagesOfProgressTracker().stream().collect(Collectors.joining(System.lineSeparator()));
if (!isCheckContentTypeOnInclude()) {
return String.format(
"Servlet %s tried to override the 'Content-Type' header from '%s' to '%s'. This is a violation of "
+ "the RequestDispatcher.include() contract - "
+ "https://jakarta.ee/specifications/servlet/4.0/apidocs/javax/servlet/requestdispatcher#include-javax.servlet.ServletRequest-javax.servlet.ServletResponse-. , Include stack: %s. All RequestProgressTracker messages: %s",
requestData.getActiveServletName(),
currentContentType,
setContentType,
unmatchedStartTimers,
allMessages);
}
return String.format(
"Servlet %s tried to override the 'Content-Type' header from '%s' to '%s', however the"
+ " %s forbids this via the %s configuration property. This is a violation of the "
+ "RequestDispatcher.include() contract - "
+ "https://jakarta.ee/specifications/servlet/4.0/apidocs/javax/servlet/requestdispatcher#include-javax.servlet.ServletRequest-javax.servlet.ServletResponse-. , Include stack: %s. All RequestProgressTracker messages: %s",
requestData.getActiveServletName(),
currentContentType,
setContentType,
Config.PID,
"sling.includes.checkcontenttype",
unmatchedStartTimers,
allMessages);
}