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