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);
         }
     }
 

Reply via email to