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;
}
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);
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));
System.exit(0);
}
- private static void addDevelPage() {
+ public static void addDevelPage() {
try {
Field instF = Gigi.class.getDeclaredField("instance");
Field pageF = Gigi.class.getDeclaredField("pages");
}
+ @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;