[ https://issues.apache.org/jira/browse/SLING-12801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carsten Ziegeler updated SLING-12801: ------------------------------------- Summary: Error handler does not reset the response during include (was: SlingEngine does not reset the response and therefor headers when the violations to the RequestDispatcher include API are checked) > Error handler does not reset the response during include > -------------------------------------------------------- > > Key: SLING-12801 > URL: https://issues.apache.org/jira/browse/SLING-12801 > Project: Sling > Issue Type: Bug > Components: Engine > Affects Versions: Engine 3.0.0, Engine 2.16.2 > Reporter: Remo Liechti > Priority: Major > > SlingHttpServletResponseImpl.reset checks if the validation is enabled and > resets the response only for non-enabled cases. > For edge cases like error handling, this is wrong. The ErrorFilterChain calls > the reset during the doFilter method to meet the "resetting policy" > documented on: > [https://sling.apache.org/documentation/the-sling-engine/errorhandling.html] > > > Resetting the Response > {*}Before an ErrorHandler is invoked by the Sling Engine, the response is > resetted{*}. *This removes all headers* and potentially written content. If > the response can't be reset, e.g. when it is already partially committed to > the client, no ErrorHandler will be invoked. In this case the response will > be committed as-is.As the response is reset by Sling Engine, an ErrorHandler > must not reset the response again. Especially as there might be error filters > being invoked before the ErrorHandler. -- This message was sent by Atlassian Jira (v8.20.10#820010)