[ 
https://issues.apache.org/jira/browse/SLING-1870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12930597#action_12930597
 ] 

Clemens Wyss commented on SLING-1870:
-------------------------------------

OTH:
jetty does not seem do to its job...i.e. return a "decoded String"

The spec 
http://download.oracle.com/javaee/1.4/api/javax/servlet/http/HttpServletRequest.html#getPathInfo()
 explicitly says "decoded by the container"

> Sling should url decode the request url before trying to resolve to a resource
> ------------------------------------------------------------------------------
>
>                 Key: SLING-1870
>                 URL: https://issues.apache.org/jira/browse/SLING-1870
>             Project: Sling
>          Issue Type: Bug
>            Reporter: Clemens Wyss
>            Priority: Critical
>
> e.g.:
> JCR supports nodes with spaces (in its name), such as "Nice World". 
> When accessing this node in Sling, the request url would  look something like
> http://<sling host>/<path to node>/Nice%20World
> unfortunately we then try to resolve /<path to node>/Nice%20World in the 
> JcrResourceRersolver which, of course, does NOT match/resolve!
> Hence somewhere before resolving the resource we should URLDecoder.decode the 
> request URL ( request.getPathInfo() )
> Possible solution:
> SlingHttpServletRequest could provide
> public String getResourceLookupPath()
> {
>    return URLDecoder.decode( request.getPathInfo(), "UTF-8" ) );
> }
> This method could be used in RequestData#initResource and possibly other 
> places...
> public Resource initResource(ResourceResolver resourceResolver) {
> ...
> Resource resource = resourceResolver.resolve(request, 
> request.getResourceLookupPath() );
> ...
> Or is it up to the JcrResourceResolver to decode the URL it gets?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to