[
https://issues.apache.org/jira/browse/SLING-7552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16436965#comment-16436965
]
Jörg Hoh commented on SLING-7552:
---------------------------------
I attached a patch, which just removes the error handling inside the
SlingPostServlet and the AbstractPostOperation classes and throws the exception
instead.
I don't like that the fact, that SlingRequestProcessor does not do call
{{handleError}} when handling an IOException, but rather re-throws it as well.
So in an case of an exception the SlingPostSerlvet has to wrap the IOException
into an RuntimeException to trigger the {{handleError}} method in the
SlingRequestProcessor. Open for better ideas.
> SlingPostServlet error handling still insufficient
> --------------------------------------------------
>
> Key: SLING-7552
> URL: https://issues.apache.org/jira/browse/SLING-7552
> Project: Sling
> Issue Type: Improvement
> Components: Servlets
> Affects Versions: Servlets Post 2.3.24
> Reporter: Jörg Hoh
> Priority: Major
> Attachments: SLING-7552-patch.diff
>
>
> At the moment the default errorhandling of Sling [1] cannot be used for
> errors caused and handled by the SlingPostServlet itself. It will always
> return its own custom output without the chance of customizing it. Although
> Antonio and Justing worked in SLING-2156 to improve this situation, it still
> requires extra work (implementing a PostResponseWithErrorHandling). It would
> be better if the output could be customized by the "standard error handling".
>
> How to reproduce:
> * create an error handling script in
> /apps/sling/servlet/errorhandler/default.jsp which creates some random output.
> * Validate this script config by doing a request which causes some exception
> (do not use the SlingPostServlet here)
> * Do a POST to the Sling instance which results in an exception (e.g. due to
> insufficient permissions.
> * The output of the second call is completely determined by the
> SlingPostServlet, the default error handling does not kick in.
> Proposed solution:
> * The SlingPostServlet should not swallow the exception and handle it by
> itself, but rather re-throw it, so the standard error handling is triggered.
>
> [1] http://sling.apache.org/documentation/the-sling-engine/errorhandling.html
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)