in src/main/java/org/apache/sling/engine/impl/request/RequestData.java [213:243]
public Resource initResource(ResourceResolver resourceResolver) {
// keep the resource resolver for request processing
this.resourceResolver = resourceResolver;
// resolve the resource
requestProgressTracker.startTimer("ResourceResolution");
final SlingJakartaHttpServletRequest request = getSlingRequest();
StringBuffer requestURL = servletRequest.getRequestURL();
String path = request.getPathInfo();
if (requestURL.indexOf(";") > -1 && !path.contains(";")) {
try {
final URL rUrl = new URL(requestURL.toString());
final String prefix = request.getContextPath().concat(request.getServletPath());
path = rUrl.getPath().substring(prefix.length());
} catch (final MalformedURLException e) {
// ignore
}
}
Resource resource = resourceResolver.resolve(request, path);
if (request.getAttribute(REQUEST_RESOURCE_PATH_ATTR) == null) {
request.setAttribute(REQUEST_RESOURCE_PATH_ATTR, resource.getPath());
}
requestProgressTracker.logTimer(
"ResourceResolution",
"URI={0} resolves to Resource={1}",
getServletRequest().getRequestURI(),
resource);
return resource;
}