public void doFilter()

in src/main/java/org/apache/sling/dynamicinclude/SyntheticResourceFilter.java [54:73]


    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
            ServletException {
        final SlingHttpServletRequest slingRequest = (SlingHttpServletRequest) request;
        final String resourceType = getResourceTypeFromSuffix(slingRequest);
        final Configuration config = configurationWhiteboard.getConfiguration(slingRequest, resourceType);

        if (config == null || !config.hasIncludeSelector(slingRequest)
                || !ResourceUtil.isSyntheticResource(slingRequest.getResource())
                || (config.hasExtensionSet() && !config.hasExtension(slingRequest))) {
            chain.doFilter(request, response);
            return;
        }

        final RequestDispatcherOptions options = new RequestDispatcherOptions();
        options.setForceResourceType(resourceType);
        String resourcePath = StringUtils.substringBefore(slingRequest.getRequestPathInfo().getResourcePath(), ".");
        Resource resource = slingRequest.getResourceResolver().resolve(resourcePath);
        final RequestDispatcher dispatcher = slingRequest.getRequestDispatcher(resource, options);
        dispatcher.forward(request, response);
    }