private DirectoryIndexDescriptor loadDirectoryIndexResource(final String path) { String normalizedDirectoryPath = pathHelper.getNormalizedDirectoryPath(path); for (String index : serverConfig.getDirectoryIndex()) { String directoryIndexPath = normalizedDirectoryPath + index; ResourceProvider resourceProvider = getResourceProvider(directoryIndexPath); if (resourceProvider != null) { return new DirectoryIndexDescriptor(resourceProvider, directoryIndexPath); } } return null; }
private void handleDirectoryIndex(final HttpServletResponseImpl response, final HttpServletRequestImpl request, final String requestedPath) throws IOException { DirectoryIndexDescriptor indexDescriptor = loadDirectoryIndexResource(requestedPath); if (indexDescriptor == null) { throw new NotFoundException(); } else { if (!pathHelper.isDirectoryPath(requestedPath)) { sendRedirectToDirectorySlashedPath(response, requestedPath); } else { indexDescriptor.getResourceProvider().load( indexDescriptor.getDirectoryPath(), request, response); } } }