[ 
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)

Reply via email to