@Override public List<Resource> list() { final List<Resource> resources = new ArrayList<>(); try (DirectoryStream<Path> stream = Files.newDirectoryStream(file)) { for (Path child : stream) { resources.add(new PathResource(child, manager, path + file.getFileSystem().getSeparator() + child.getFileName().toString())); } } catch (IOException e) { throw new RuntimeException(e); } return resources; }
@Override public String getLastModifiedString() { return DateUtils.toDateString(getLastModified()); }
@Override public void serve(final Sender sender, final HttpServerExchange exchange, final IoCallback callback) { serveImpl(sender, exchange, -1, -1, callback, false); } @Override
return new PathResource(file, this, path, eTagFunction.generate(file)); } else if (isFileSameCase(file, normalizedFile)) { log.tracef("Found path resource %s from path resource manager with base %s", path, base); return new PathResource(file, this, path, eTagFunction.generate(file)); } else { log.tracef("Rejected path resource %s from path resource manager with base %s, as the case did not match actual case of %s", path, base, normalizedFile); return new PathResource(file, this, path, eTagFunction.generate(file));
@Override public void serveRange(final Sender sender, final HttpServerExchange exchange, final long start, final long end, final IoCallback callback) { serveImpl(sender, exchange, start, end, callback, true); } private void serveImpl(final Sender sender, final HttpServerExchange exchange, final long start, final long end, final IoCallback callback, final boolean range) {
@Override public String getLastModifiedString() { return DateUtils.toDateString(getLastModified()); }
@Override public List<Resource> list() { final List<Resource> resources = new ArrayList<>(); try (DirectoryStream<Path> stream = Files.newDirectoryStream(file)) { for (Path child : stream) { resources.add(new PathResource(child, manager, path + File.separator + child.getFileName().toString())); } } catch (IOException e) { throw new RuntimeException(e); } return resources; }
@Override public void serve(final Sender sender, final HttpServerExchange exchange, final IoCallback callback) { serveImpl(sender, exchange, -1, -1, callback, false); } @Override
@Override public String getLastModifiedString() { return DateUtils.toDateString(getLastModified()); }
@Override public List<Resource> list() { final List<Resource> resources = new ArrayList<>(); try (DirectoryStream<Path> stream = Files.newDirectoryStream(file)) { for (Path child : stream) { resources.add(new PathResource(child, manager, path + file.getFileSystem().getSeparator() + child.getFileName().toString())); } } catch (IOException e) { throw new RuntimeException(e); } return resources; }
@Override public void serveRange(final Sender sender, final HttpServerExchange exchange, final long start, final long end, final IoCallback callback) { serveImpl(sender, exchange, start, end, callback, true); } private void serveImpl(final Sender sender, final HttpServerExchange exchange, final long start, final long end, final IoCallback callback, final boolean range) {
return new PathResource(file, this, path, eTagFunction.generate(file)); } else if (isFileSameCase(file, normalizedFile)) { log.tracef("Found path resource %s from path resource manager with base %s", path, base); return new PathResource(file, this, path, eTagFunction.generate(file)); } else { log.tracef("Rejected path resource %s from path resource manager with base %s, as the case did not match actual case of %s", path, base, normalizedFile); return new PathResource(file, this, path, eTagFunction.generate(file));
@Override public void serve(final Sender sender, final HttpServerExchange exchange, final IoCallback callback) { serveImpl(sender, exchange, -1, -1, callback, false); } @Override
return new PathResource(file, this, path, eTagFunction.generate(file)); } else if (isFileSameCase(file, normalizedFile)) { log.tracef("Found path resource %s from path resource manager with base %s", path, base); return new PathResource(file, this, path, eTagFunction.generate(file)); } else { log.tracef("Rejected path resource %s from path resource manager with base %s, as the case did not match actual case of %s", path, base, normalizedFile); return new PathResource(file, this, path, eTagFunction.generate(file));
@Override public void serveRange(final Sender sender, final HttpServerExchange exchange, final long start, final long end, final IoCallback callback) { serveImpl(sender, exchange, start, end, callback, true); } private void serveImpl(final Sender sender, final HttpServerExchange exchange, final long start, final long end, final IoCallback callback, final boolean range) {