You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Eric Norman (JIRA)" <ji...@apache.org> on 2011/04/21 05:46:05 UTC
[jira] [Resolved] (SLING-1870) Sling should url decode the request
url before trying to resolve to a resource
[ https://issues.apache.org/jira/browse/SLING-1870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Norman resolved SLING-1870.
--------------------------------
Resolution: Fixed
Fix Version/s: Launchpad Base 2.3.0
Looks like this was fixed by FELIX-1979.
> 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
> Assignee: Eric Norman
> Priority: Critical
> Fix For: Launchpad Base 2.3.0
>
>
> 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira