Author: toad
Date: 2007-04-28 18:52:00 +0000 (Sat, 28 Apr 2007)
New Revision: 13038
Modified:
trunk/freenet/src/freenet/clients/http/FProxyToadlet.java
trunk/freenet/src/freenet/clients/http/PproxyToadlet.java
trunk/freenet/src/freenet/clients/http/Toadlet.java
Log:
Factor internal error writing into a method on Toadlet
Modified: trunk/freenet/src/freenet/clients/http/FProxyToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/FProxyToadlet.java 2007-04-28
18:49:46 UTC (rev 13037)
+++ trunk/freenet/src/freenet/clients/http/FProxyToadlet.java 2007-04-28
18:52:00 UTC (rev 13038)
@@ -467,15 +467,7 @@
}
throw e;
} catch (Throwable t) {
- Logger.error(this, "Caught "+t, t);
- String msg =
"<html><head><title>"+L10n.getString("Toadlet.internalErrorTitle")+"</title></head><body><h1>"+
-
L10n.getString("Toadlet.internalErrorPleaseReport")+"</h1><pre>";
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- t.printStackTrace(pw);
- pw.flush();
- msg = msg + HTMLEncoder.encode(sw.toString()) +
"</pre></body></html>";
- this.writeReply(ctx, 500, "text/html",
l10n("internalErrorTitle"), msg);
+ writeInternalError(t, ctx);
}
}
Modified: trunk/freenet/src/freenet/clients/http/PproxyToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/PproxyToadlet.java 2007-04-28
18:49:46 UTC (rev 13037)
+++ trunk/freenet/src/freenet/clients/http/PproxyToadlet.java 2007-04-28
18:52:00 UTC (rev 13038)
@@ -98,14 +98,7 @@
}
catch(Throwable t)
{
- Logger.error(this, "Caught "+t, t);
- String msg = "<html><head><title>Internal
Error</title></head><body><h1>Internal Error: please report</h1><pre>";
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- t.printStackTrace(pw);
- pw.flush();
- msg = msg + sw.toString() +
"</pre></body></html>";
- this.writeReply(ctx, 500, "text/html",
"Internal Error", msg);
+ writeInternalError(t, ctx);
}
}
else
Modified: trunk/freenet/src/freenet/clients/http/Toadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/Toadlet.java 2007-04-28 18:49:46 UTC
(rev 13037)
+++ trunk/freenet/src/freenet/clients/http/Toadlet.java 2007-04-28 18:52:00 UTC
(rev 13038)
@@ -15,8 +15,10 @@
import freenet.client.InsertBlock;
import freenet.client.InserterException;
import freenet.keys.FreenetURI;
+import freenet.l10n.L10n;
import freenet.support.HTMLEncoder;
import freenet.support.HTMLNode;
+import freenet.support.Logger;
import freenet.support.MultiValueTable;
import freenet.support.api.Bucket;
import freenet.support.api.HTTPRequest;
@@ -240,7 +242,17 @@
writeReply(ctx, 500, "text/html; charset=UTF-8", desc,
pageNode.generate());
}
-
+ protected void writeInternalError(Throwable t, ToadletContext ctx)
throws ToadletContextClosedException, IOException {
+ Logger.error(this, "Caught "+t, t);
+ String msg =
"<html><head><title>"+L10n.getString("Toadlet.internalErrorTitle")+
+ "Internal
Error</title></head><body><h1>"+L10n.getString("Toadlet.internalErrorPleaseReport")+"</h1><pre>";
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ t.printStackTrace(pw);
+ pw.flush();
+ msg = msg + sw.toString() + "</pre></body></html>";
+ writeReply(ctx, 500, "text/html", "Internal Error", msg);
+ }
/**
* Get the client impl. DO NOT call the blocking methods on it!!