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!!


Reply via email to