[
https://issues.apache.org/jira/browse/SLING-6703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15938667#comment-15938667
]
Konrad Windszus edited comment on SLING-6703 at 3/23/17 4:10 PM:
-----------------------------------------------------------------
I just redid the test with an AEM 6.3 with a patched POST servlet (exposing the
original exception) with {{curl -v -F":operation=delete" -F":applyTo=/libs/*"
-u test:test http://localhost:4000}} and I get back
{code}
* Rebuilt URL to: http://localhost:4000/
* Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 4000 (#0)
* Server auth using Basic with user 'test'
> POST / HTTP/1.1
> Host: localhost:4000
> Authorization: Basic dGVzdDp0ZXN0
> User-Agent: curl/7.51.0
> Accept: */*
> Content-Length: 255
> Expect: 100-continue
> Content-Type: multipart/form-data;
> boundary=------------------------3b1b37b6cd35e118
>
< HTTP/1.1 100 Continue
< HTTP/1.1 500 Server Error
< Date: Thu, 23 Mar 2017 16:02:13 GMT
< X-Content-Type-Options: nosniff
< Set-Cookie: cq-authoring-mode=TOUCH;Path=/;Expires=Thu, 30-Mar-2017 16:02:13
GMT
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< Content-Type: text/html; charset=UTF-8
< Transfer-Encoding: chunked
* HTTP error before end of send, stop sending
<
<html>
<head>
<title>Error while processing /</title>
</head>
<body>
<h1>Error while processing /</h1>
<table>
<tbody>
<tr>
<td>Status</td>
<td><div id="Status">500</div></td>
</tr>
<tr>
<td>Message</td>
<td><div id="Message">java.lang.UnsupportedOperationException:
delete at '/libs/.servlet'</div></td>
</tr>
<tr>
<td>Location</td>
<td><img src="/libs/cq/linkchecker/resources/linkcheck_o.gif"
alt="invalid link: /" title="invalid link: /" border="0">/<img
src="/libs/cq/linkchecker/resources/linkcheck_c.gif" border="0"></td>
</tr>
<tr>
<td>Parent Location</td>
<td><img src="/libs/cq/linkchecker/resources/linkcheck_o.gif"
alt="invalid link: " title="invalid link: " border="0"><img
src="/libs/cq/linkchecker/resources/linkcheck_c.gif" border="0"></td>
</tr>
<tr>
<td>Path</td>
<td><div id="Path">/</div></td>
</tr>
<tr>
<td>Referer</td>
<td><div id="Referer"></div></td>
</tr>
<tr>
<td>ChangeLog</td>
<td><div id="ChangeLog"><pre></pre></div></td>
</tr>
</tbody>
</table>
<p><img src="/libs/cq/linkchecker/resources/linkcheck_o.gif" alt="invalid
link: /" title="invalid link: /" border="0">Modified Resource<img
src="/libs/cq/linkchecker/resources/linkcheck_c.gif" border="0"></p>
<p><img src="/libs/cq/linkchecker/resources/linkcheck_o.gif" alt="invalid
link: " title="invalid link: " border="0">Parent of Modified Resource<img
src="/libs/cq/linkchecker/resources/linkcheck_c.gif" border="0"></p>
</body>
* Curl_http_done: called premature == 0
* Closing connection 0
{code}
This looks correct, as /libs/.servlet is provided by a ResourceProvider not
backed by the JCR itself (and therefore not protected through ACLs)
was (Author: kwin):
I just redid the test with an AEM 6.3 with a patched POST servlet (exposing the
original servlet) with {{curl -v -F":operation=delete" -F":applyTo=/libs/*" -u
test:test http://localhost:4000}} and I get back
{code}
* Rebuilt URL to: http://localhost:4000/
* Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 4000 (#0)
* Server auth using Basic with user 'test'
> POST / HTTP/1.1
> Host: localhost:4000
> Authorization: Basic dGVzdDp0ZXN0
> User-Agent: curl/7.51.0
> Accept: */*
> Content-Length: 255
> Expect: 100-continue
> Content-Type: multipart/form-data;
> boundary=------------------------3b1b37b6cd35e118
>
< HTTP/1.1 100 Continue
< HTTP/1.1 500 Server Error
< Date: Thu, 23 Mar 2017 16:02:13 GMT
< X-Content-Type-Options: nosniff
< Set-Cookie: cq-authoring-mode=TOUCH;Path=/;Expires=Thu, 30-Mar-2017 16:02:13
GMT
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< Content-Type: text/html; charset=UTF-8
< Transfer-Encoding: chunked
* HTTP error before end of send, stop sending
<
<html>
<head>
<title>Error while processing /</title>
</head>
<body>
<h1>Error while processing /</h1>
<table>
<tbody>
<tr>
<td>Status</td>
<td><div id="Status">500</div></td>
</tr>
<tr>
<td>Message</td>
<td><div id="Message">java.lang.UnsupportedOperationException:
delete at '/libs/.servlet'</div></td>
</tr>
<tr>
<td>Location</td>
<td><img src="/libs/cq/linkchecker/resources/linkcheck_o.gif"
alt="invalid link: /" title="invalid link: /" border="0">/<img
src="/libs/cq/linkchecker/resources/linkcheck_c.gif" border="0"></td>
</tr>
<tr>
<td>Parent Location</td>
<td><img src="/libs/cq/linkchecker/resources/linkcheck_o.gif"
alt="invalid link: " title="invalid link: " border="0"><img
src="/libs/cq/linkchecker/resources/linkcheck_c.gif" border="0"></td>
</tr>
<tr>
<td>Path</td>
<td><div id="Path">/</div></td>
</tr>
<tr>
<td>Referer</td>
<td><div id="Referer"></div></td>
</tr>
<tr>
<td>ChangeLog</td>
<td><div id="ChangeLog"><pre></pre></div></td>
</tr>
</tbody>
</table>
<p><img src="/libs/cq/linkchecker/resources/linkcheck_o.gif" alt="invalid
link: /" title="invalid link: /" border="0">Modified Resource<img
src="/libs/cq/linkchecker/resources/linkcheck_c.gif" border="0"></p>
<p><img src="/libs/cq/linkchecker/resources/linkcheck_o.gif" alt="invalid
link: " title="invalid link: " border="0">Parent of Modified Resource<img
src="/libs/cq/linkchecker/resources/linkcheck_c.gif" border="0"></p>
</body>
* Curl_http_done: called premature == 0
* Closing connection 0
{code}
This looks correct, as /libs/.servlet is provided by a ResourceProvider not
backed by the JCR itself (and therefore not protected through ACLs)
> Sling Post Processor: Do not create new exception in
> AbstractPostResponse.setError
> ----------------------------------------------------------------------------------
>
> Key: SLING-6703
> URL: https://issues.apache.org/jira/browse/SLING-6703
> Project: Sling
> Issue Type: Improvement
> Components: Servlets
> Affects Versions: Servlets Post 2.3.14
> Reporter: Konrad Windszus
> Assignee: Antonio Sanso
>
> Currently {{AbstractPostResponse.setError}}
> (https://github.com/apache/sling/blob/4df9ab2d6592422889c71fa13afd453a10a5a626/bundles/servlets/post/src/main/java/org/apache/sling/servlets/post/AbstractPostResponse.java#L221)
> always ignores the given {{Throwable}} and just creates a new generic
> {{SlingException}}.
> To e.g. allow {{SlingPostProcessor}} to throw meaningful exceptions which
> occur in the response body, the given exception should not be wrapped but
> just the given throwable's message text should be given out in the document.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)