Author: nextgens
Date: 2006-03-10 17:47:39 +0000 (Fri, 10 Mar 2006)
New Revision: 8219
Modified:
trunk/freenet/src/freenet/clients/http/FproxyToadlet.java
trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
trunk/freenet/src/freenet/node/Version.java
Log:
420:
Now the node can be shutted down from fproxy
Modified: trunk/freenet/src/freenet/clients/http/FproxyToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/FproxyToadlet.java 2006-03-10
17:35:44 UTC (rev 8218)
+++ trunk/freenet/src/freenet/clients/http/FproxyToadlet.java 2006-03-10
17:47:39 UTC (rev 8219)
@@ -40,7 +40,14 @@
//String ks = uri.toString();
String ks = uri.getPath();
+ HTTPRequest request = new HTTPRequest(uri);
+ if(request.hasParameters() &&
request.getParam("exit").equalsIgnoreCase("true")){
+ System.out.println("Goodbye.");
+ writeReply(ctx, 200, "text/html", "OK",
mkForwardPage(ctx, "Shutting down the node", "" , "/", 5));
+ System.exit(0);
+ }
+
if (ks.equals("/")) {
HTTPRequest httprequest = new HTTPRequest(uri);
if (httprequest.isParameterSet("key")) {
Modified: trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java 2006-03-10
17:35:44 UTC (rev 8218)
+++ trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java 2006-03-10
17:47:39 UTC (rev 8219)
@@ -2,6 +2,7 @@
import java.io.IOException;
import java.net.URI;
+import java.text.Format.Field;
import freenet.client.HighLevelSimpleClient;
import freenet.support.Bucket;
@@ -10,6 +11,7 @@
import freenet.support.SimpleFieldSet;
import freenet.node.Version;
import freenet.node.Node;
+import freenet.pluginmanager.HTTPRequest;
public class WelcomeToadlet extends Toadlet {
Node node;
@@ -21,39 +23,57 @@
public void handleGet(URI uri, ToadletContext ctx) throws
ToadletContextClosedException, IOException {
StringBuffer buf = new StringBuffer();
+ HTTPRequest request = new HTTPRequest(uri);
- ctx.getPageMaker().makeHead(buf, "Freenet FProxy Homepage",
CSSName);
-
- // Version info
- buf.append("<div class=\"infobox\">\n");
- buf.append("<h2>Version</h2>");
- buf.append("Freenet version "+Version.nodeVersion+" build
#"+Version.buildNumber());
- if(Version.buildNumber() < Version.highestSeenBuild) {
- buf.append("<br />");
- buf.append("<b>A newer version is available! (Build
#"+Version.highestSeenBuild+")</b>");
+ if(request.hasParameters()){
+ if(request.getParam("exit").equalsIgnoreCase("true")){
+ System.out.println("Goodbye.");
+ writeReply(ctx, 200, "text/html", "OK", mkForwardPage(ctx,
"Shutting down the node", buf.toString(), "/", 60));
+ System.exit(0);
+ }
+ System.out.println(request.toString());
+ }else{
+
+ ctx.getPageMaker().makeHead(buf, "Freenet FProxy
Homepage", CSSName);
+
+ // Version info
+ buf.append("<div class=\"infobox\">\n");
+ buf.append("<h2>Version</h2>");
+ buf.append("Freenet version "+Version.nodeVersion+"
build #"+Version.buildNumber());
+ if(Version.buildNumber() < Version.highestSeenBuild) {
+ buf.append("<br />");
+ buf.append("<b>A newer version is available!
(Build #"+Version.highestSeenBuild+")</b>");
+ }
+ buf.append("</div>\n");
+
+ // Fetch-a-key box
+ buf.append("<br style=\"clear: all; \" />\n");
+ buf.append("<form action=\"/\" method=\"get\">\n");
+ buf.append("<div class=\"infobox\">\n");
+ buf.append("<h2>Fetch a Key</h2>\n");
+ buf.append("Key: <input type=\"text\" size=\"80\"
name=\"key\"/>\n");
+ buf.append("<input type=\"submit\" value=\"Fetch\"
/>\n");
+ buf.append("</div>\n");
+ buf.append("</form>\n");
+
+ // Quit Form
+ buf.append("<div class=\"exit\" target=\".\">\n");
+ buf.append("<form>\n");
+ buf.append("<input type=\"hidden\" name=\"exit\"
value=\"true\"><input type=\"submit\" value=\"Shutdown the node\">\n");
+ buf.append("</form>\n");
+ buf.append("</div>\n");
+
+ // Activity
+ buf.append("<ul id=\"activity\">\n"
+ + "<li>Inserts:
"+this.node.getNumInserts()+"</li>\n"
+ + "<li>Requests:
"+this.node.getNumRequests()+"</li>\n"
+ + "<li>Transferring Requests:
"+this.node.getNumTransferringRequests()+"</li>\n"
+ + "</ul>\n");
+
+ ctx.getPageMaker().makeTail(buf);
+
+ this.writeReply(ctx, 200, "text/html", "OK",
buf.toString());
}
- buf.append("</div>\n");
-
- // Fetch-a-key box
- buf.append("<br style=\"clear: all; \" />\n");
- buf.append("<form action=\"/\" method=\"get\">\n");
- buf.append("<div class=\"infobox\">\n");
- buf.append("<h2>Fetch a Key</h2>\n");
- buf.append("Key: <input type=\"text\" size=\"80\"
name=\"key\"/>\n");
- buf.append("<input type=\"submit\" value=\"Fetch\" />\n");
- buf.append("</div>\n");
- buf.append("</form>\n");
-
- // Activity
- buf.append("<ul id=\"activity\">\n"
- + "<li>Inserts:
"+this.node.getNumInserts()+"</li>\n"
- + "<li>Requests:
"+this.node.getNumRequests()+"</li>\n"
- + "<li>Transferring Requests:
"+this.node.getNumTransferringRequests()+"</li>\n"
- + "</ul>\n");
-
- ctx.getPageMaker().makeTail(buf);
-
- this.writeReply(ctx, 200, "text/html", "OK", buf.toString());
}
public String supportedMethods() {
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-03-10 17:35:44 UTC (rev
8218)
+++ trunk/freenet/src/freenet/node/Version.java 2006-03-10 17:47:39 UTC (rev
8219)
@@ -20,7 +20,7 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 519;
+ private static final int buildNumber = 520;
/** Oldest build of Fred we will talk to */
private static final int lastGoodBuild = 507;