[
https://issues.apache.org/jira/browse/SLING-2724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13574254#comment-13574254
]
Felix Meschberger commented on SLING-2724:
------------------------------------------
Ok, but the SlingRequestProcessorImpl class as part of the engine bundle has
access to the actual ServletContainer's response object and could fiddle this
to prevent further output ?
How about calling close() on the servlet container's writer ?
> Error handling doesn't respect servlet spec
> -------------------------------------------
>
> Key: SLING-2724
> URL: https://issues.apache.org/jira/browse/SLING-2724
> Project: Sling
> Issue Type: Bug
> Components: Servlets
> Reporter: Antonio Sanso
>
> If there is some servlet that is sending a 500 error
> (response.sendError(500)) and output something after e.g. "All good" (maybe
> this is the wrong part...) and a 500.jsp exists, Sling will "shows" both:
> - the error page 500.jsp
> - and the the extra output (e.g. All good)
> This seems to violate the spec:
> "These methods [sendError, sendRedirect] will have the side effect of
> committing the response, if it has not already been committed, and
> terminating it. No further output to the client should be made by the servlet
> after these methods are called. If data is written to the response after
> these methods are called, the data is ignored."
> Integration test showing the issue in [0]
> Mailing list thread in [1]
> [0]
> https://svn.apache.org/repos/asf/sling/trunk/launchpad/integration-tests/src/main/java/org/apache/sling/launchpad/webapp/integrationtest/servlets/resolver/errorhandler/ErrorHandlingTest.java
> [1] sling.markmail.org/thread/k2t7p5mhi4hgelwb
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira