On Thursday 28 July 2016 20:45:06 Roy Teeuwen wrote: > Already tried that one ;) it returns a non existing resource with the path > /content/dam/nice-image.cdn.jpg/modification-date/20160815/nice-image.jpg
Hi Roy, that means your resource is not found. Make sure /content/dam/nice-image.jpg is available. What's the reason for forwarding instead of reading/serving the resource from the repository in your current servlet? Regards, O. > Greetings, > Roy > > > On 28 Jul 2016, at 18:35, Jason Bailey <jason.bai...@sas.com> wrote: > > > > I'm under the understanding that it is; > > > > request.getResource().getPath() > > > > -----Original Message----- > > From: Roy Teeuwen [mailto:r...@teeuwen.be] > > Sent: Thursday, July 28, 2016 12:31 PM > > To: users@sling.apache.org > > Subject: Getting the actual resource from a request > > > > Hey all, > > > > I am creating a SlingServlet that will work by both using a selector and a > > suffix. The resource is for example /content/dam/image.jpg and the actual > > url will be > > /content/dam/nice-image.cdn.jpg/modification-date/20160815/nice-image.jpg > > > > What is the most easy way to get the actual resource path again from the > > SlingHttpServletRequest? Currently I am doing the following but I find it > > a bit cumbersome: > > > > private String getResourcePath(SlingHttpServletRequest request) { > > > > String requestUrl = request.getRequestPathInfo().getResourcePath(); > > int endIndex = > > requestUrl.lastIndexOf(request.getRequestPathInfo().getSuffix()); > > String resourcePathWithSelector = requestUrl.substring(0, endIndex); > > endIndex = > > resourcePathWithSelector.lastIndexOf(request.getRequestPathInfo().getS > > electorString() + "." + request.getRequestPathInfo().getExtension()); > > return resourcePathWithSelector.substring(0, endIndex) + > > request.getRequestPathInfo().getExtension();> > > } > > > > Is there an easier way or is parsing it like this the only way? > > > > Also after I got the actual resourcePath, I tried doing the following, but > > this doesn’t seem to work, any clue on why? > > > > @Override > > protected void doGet(SlingHttpServletRequest request, > > SlingHttpServletResponse response) throws ServletException, IOException {> > > RequestDispatcherOptions opts = new RequestDispatcherOptions(); > > opts.setReplaceSelectors(""); > > String resourcePath = getResourcePath(request); > > RequestDispatcher dispatcher = > > request.getRequestDispatcher(resourcePath, opts); if (dispatcher != > > null) { > > > > dispatcher.forward(request, response); > > > > } > > > > } > > > > I would expect that the previous would actually just forward it to the > > actual image being fetched from the getResourcePath but it just gives me > > a 404 not found (I checked the getResourcePath and it does return > > /content/dam/nice-image.jpg) > > > > Thanks! > > Roy