|
@@ -12,42 +12,24 @@ import java.io.BufferedReader;
|
|
|
import java.io.IOException;
|
|
|
import java.io.InputStreamReader;
|
|
|
import java.io.UncheckedIOException;
|
|
|
-import java.net.URI;
|
|
|
import java.nio.charset.Charset;
|
|
|
import java.nio.file.Files;
|
|
|
import java.nio.file.Path;
|
|
|
import java.nio.file.Paths;
|
|
|
-import java.util.EnumSet;
|
|
|
import java.util.Optional;
|
|
|
|
|
|
-import javax.servlet.DispatcherType;
|
|
|
-
|
|
|
import org.cryptomator.filesystem.FileSystem;
|
|
|
import org.cryptomator.filesystem.nio.NioFileSystem;
|
|
|
-import org.cryptomator.frontend.webdav.filters.LoggingHttpFilter;
|
|
|
-import org.eclipse.jetty.servlet.ServletContextHandler;
|
|
|
|
|
|
public class NioWebDavServer {
|
|
|
|
|
|
private static final String PATH_TO_SERVE_PROPERTY = "pathToServe";
|
|
|
- private static final WebDavComponent WEVDAV_COMP = DaggerWebDavComponent.create();
|
|
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
|
- WebDavServer server = WEVDAV_COMP.server();
|
|
|
- server.setPort(8080);
|
|
|
- server.start();
|
|
|
-
|
|
|
- FileSystem fileSystem = setupFilesystem();
|
|
|
- ServletContextHandler servlet = server.addServlet(fileSystem, URI.create("http://localhost:8080/foo"));
|
|
|
- servlet.addFilter(LoggingHttpFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
|
|
|
- servlet.start();
|
|
|
-
|
|
|
- System.out.println("Server started. Press any key to stop it...");
|
|
|
- System.in.read();
|
|
|
- server.stop();
|
|
|
+ new FileSystemWebDabServer(nioFileSystem()).run();
|
|
|
}
|
|
|
|
|
|
- private static FileSystem setupFilesystem() {
|
|
|
+ private static FileSystem nioFileSystem() {
|
|
|
return NioFileSystem.rootedAt(pathToServe());
|
|
|
}
|
|
|
|