(Box root)
| 39 | |
| 40 | |
| 41 | public ServerSupport(Box root) { |
| 42 | |
| 43 | // new BridgeToTextEditor(root).connect(root); |
| 44 | |
| 45 | Watches watches = root.first(Watches.watches) |
| 46 | .orElseThrow(() -> new IllegalArgumentException(" need Watches for server support")); |
| 47 | MessageQueue<Quad<Dict.Prop, Box, Object, Object>, String> queue = watches.getQueue(); |
| 48 | |
| 49 | |
| 50 | Log.log("startup", () -> " server support is initializing "); |
| 51 | try { |
| 52 | |
| 53 | int a = Ports.nextAvailable(8080); |
| 54 | int b = Ports.nextAvailable(a + 1); |
| 55 | s = new Server(a, b); |
| 56 | |
| 57 | root.properties.put(server, s); |
| 58 | // s.setFixedResource("/init", readFile(fieldagent.Main.app + "/modules/fieldcore/resources//init.html")); |
| 59 | s.setFixedResource("/init", readFile(Main.app + "/lib/web/init.html")); |
| 60 | |
| 61 | // s.addDocumentRoot(fieldagent.Main.app + "/modules/fieldcore/resources/"); |
| 62 | s.addDocumentRoot(Main.app + "/lib/web/"); |
| 63 | |
| 64 | |
| 65 | s.addHandlerLast(x -> x.equals("alive"), (server, socket, address, payload) -> { |
| 66 | Log.log("remote.general", () -> " alive :" + payload); |
| 67 | return payload; |
| 68 | }); |
| 69 | |
| 70 | s.addHandlerLast(x -> x.equals("log"), (server, socket, address, payload) -> { |
| 71 | Log.log("remote.general", () -> "-\n" + payload + "\n-"); |
| 72 | return payload; |
| 73 | }); |
| 74 | |
| 75 | s.addHandlerLast(x -> x.equals("error"), (server, socket, address, payload) -> { |
| 76 | Log.log("remote.general", () -> "-e-\n" + payload + "\n-e-"); |
| 77 | |
| 78 | return payload; |
| 79 | }); |
| 80 | |
| 81 | s.addHandlerLast(x -> x.equals("initialize"), (server, socket, address, payload) -> { |
| 82 | // s.send(socket, readFile(fieldagent.Main.app + "/modules/fieldcore/resources/include.js")); |
| 83 | s.send(socket, readFile(Main.app + "/lib/web/include.js")); |
| 84 | |
| 85 | return payload; |
| 86 | }); |
| 87 | |
| 88 | s.addHandlerLast(x -> x.equals("initialize.finished"), (server, socket, address, payload) -> { |
| 89 | |
| 90 | for (String n : playlist) { |
| 91 | // s.send(socket, readFile(fieldagent.Main.app + "/modules/fieldcore/resources/" + n)); |
| 92 | s.send(socket, readFile(fieldagent.Main.app + "/lib/web/" + n)); |
| 93 | } |
| 94 | |
| 95 | Log.log("remote.trace", () -> " payload is :" + payload); |
| 96 | |
| 97 | String name = payload + ""; |
| 98 |
nothing calls this directly
no test coverage detected