X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FDevelLauncher.java;h=6a462f21ccae7a7a5a9d394049d6537dd960f442;hb=91bfb697cacaf050e772472f20efea8988acf04a;hp=44a949c8b2654e72538c2a2529e15413e8b5ec72;hpb=6fe8f289fa30293ca22eea16bfdd34046297eb02;p=gigi.git diff --git a/src/org/cacert/gigi/DevelLauncher.java b/src/org/cacert/gigi/DevelLauncher.java index 44a949c8..6a462f21 100644 --- a/src/org/cacert/gigi/DevelLauncher.java +++ b/src/org/cacert/gigi/DevelLauncher.java @@ -11,6 +11,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.lang.reflect.Field; +import java.net.URL; import java.nio.file.Files; import java.nio.file.Paths; import java.util.HashMap; @@ -38,6 +39,13 @@ public class DevelLauncher { } i++; } + try { + String targetPort = mainProps.getProperty("http.port"); + String targetHost = mainProps.getProperty("name.www"); + URL u = new URL("http://" + targetHost + ":" + targetPort + "/kill"); + u.openStream(); + } catch (IOException e) { + } ByteArrayOutputStream chunkConfig = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(chunkConfig); @@ -48,7 +56,7 @@ public class DevelLauncher { dos.flush(); InputStream oldin = System.in; System.setIn(new ByteArrayInputStream(chunkConfig.toByteArray())); - Launcher.main(args); + Launcher.boot(); addDevelPage(); System.setIn(oldin); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); @@ -58,7 +66,7 @@ public class DevelLauncher { System.exit(0); } - private static void addDevelPage() { + public static void addDevelPage() { try { Field instF = Gigi.class.getDeclaredField("instance"); Field pageF = Gigi.class.getDeclaredField("pages"); @@ -66,7 +74,7 @@ public class DevelLauncher { pageF.setAccessible(true); Object gigi = instF.get(null); HashMap pages = (HashMap) pageF.get(gigi); - pages.put("/manage", new Page("Page-manger") { + pages.put("/manage", new Page("Page-manager") { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { @@ -76,6 +84,18 @@ public class DevelLauncher { } + @Override + public boolean needsLogin() { + return false; + } + }); + pages.put("/kill", new Page("Kill") { + + @Override + public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { + System.exit(0); + } + @Override public boolean needsLogin() { return false;