This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-servlets-resolver.git
The following commit(s) were added to refs/heads/master by this push:
new 0f9151e SLING-11964 : DefaultErrorHandler must not reset response
0f9151e is described below
commit 0f9151e3d30e3b6ead6056ad51c5121d8a49f80b
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Thu Jul 13 14:32:38 2023 +0200
SLING-11964 : DefaultErrorHandler must not reset response
---
.../defaults/DefaultErrorHandlerServlet.java | 20 ++++++--------------
1 file changed, 6 insertions(+), 14 deletions(-)
diff --git
a/src/main/java/org/apache/sling/servlets/resolver/internal/defaults/DefaultErrorHandlerServlet.java
b/src/main/java/org/apache/sling/servlets/resolver/internal/defaults/DefaultErrorHandlerServlet.java
index 726b483..695f2c4 100644
---
a/src/main/java/org/apache/sling/servlets/resolver/internal/defaults/DefaultErrorHandlerServlet.java
+++
b/src/main/java/org/apache/sling/servlets/resolver/internal/defaults/DefaultErrorHandlerServlet.java
@@ -80,21 +80,13 @@ public class DefaultErrorHandlerServlet extends
GenericServlet {
statusMessage = statusToString(statusCode);
}
- if (!res.isCommitted()) {
- res.reset();
-
- //properly consider the 'Accept' header conditions to decide
whether to send json or html back
- if (req instanceof HttpServletRequest &&
- JSON_CONTENT_TYPE.equals(new
MediaRangeList((HttpServletRequest)req).prefer(HTML_CONTENT_TYPE,
JSON_CONTENT_TYPE))) {
- renderJson(req, res, statusMessage, requestUri, servletName,
statusCode);
- } else {
- //default to HTML rendering
- renderHtml(req, res, statusMessage, requestUri, servletName,
statusCode);
- }
+ //properly consider the 'Accept' header conditions to decide whether
to send json or html back
+ if (req instanceof HttpServletRequest &&
+ JSON_CONTENT_TYPE.equals(new
MediaRangeList((HttpServletRequest)req).prefer(HTML_CONTENT_TYPE,
JSON_CONTENT_TYPE))) {
+ renderJson(req, res, statusMessage, requestUri, servletName,
statusCode);
} else {
- // Response already committed: don't change status, but report
- // the error inline and warn about that
- log.warn("Response already committed, unable to change status or
write error response for " + statusMessage);
+ //default to HTML rendering
+ renderHtml(req, res, statusMessage, requestUri, servletName,
statusCode);
}
}