[or-cvs] [metrics-web/master] Add redirects for deleted pages.
karsten at torproject.org
karsten at torproject.org
Tue Oct 19 06:26:50 UTC 2010
Author: Karsten Loesing <karsten.loesing at gmx.net>
Date: Tue, 19 Oct 2010 08:25:09 +0200
Subject: Add redirects for deleted pages.
Commit: 4931f5c91bd6a1b37096c4b7a0960ee0cad8c69b
---
etc/web.xml | 43 +++++++++++++++++++
src/org/torproject/ernie/web/RedirectServlet.java | 47 +++++++++++++++++++++
2 files changed, 90 insertions(+), 0 deletions(-)
create mode 100644 src/org/torproject/ernie/web/RedirectServlet.java
diff --git a/etc/web.xml b/etc/web.xml
index 169160b..c1b57fa 100644
--- a/etc/web.xml
+++ b/etc/web.xml
@@ -270,6 +270,49 @@
<url-pattern>/consensus-health-2.html</url-pattern>
</servlet-mapping>
+ <servlet>
+ <servlet-name>Redirect</servlet-name>
+ <servlet-class>
+ org.torproject.ernie.web.RedirectServlet
+ </servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>Redirect</servlet-name>
+ <url-pattern>/networksize.html</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Redirect</servlet-name>
+ <url-pattern>/exit-relays-graphs.html</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Redirect</servlet-name>
+ <url-pattern>/bridge-users-graphs.html</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Redirect</servlet-name>
+ <url-pattern>/new-users-graphs.html</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Redirect</servlet-name>
+ <url-pattern>/consensus-graphs.html</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Redirect</servlet-name>
+ <url-pattern>/recurring-users-graphs.html</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Redirect</servlet-name>
+ <url-pattern>/torperf-graphs.html</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Redirect</servlet-name>
+ <url-pattern>/gettor-graphs.html</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>Redirect</servlet-name>
+ <url-pattern>/custom-graph.html</url-pattern>
+ </servlet-mapping>
+
<context-param>
<param-name>jdbcUrl</param-name>
<param-value>
diff --git a/src/org/torproject/ernie/web/RedirectServlet.java b/src/org/torproject/ernie/web/RedirectServlet.java
new file mode 100644
index 0000000..6b5e2be
--- /dev/null
+++ b/src/org/torproject/ernie/web/RedirectServlet.java
@@ -0,0 +1,47 @@
+package org.torproject.ernie.web;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import java.io.*;
+import java.util.*;
+
+public class RedirectServlet extends HttpServlet {
+
+ private Map<String, String> redirects;
+
+ public void init() {
+
+ /* Initialize map containing redirects. */
+ redirects = new HashMap<String, String>();
+ redirects.put("networksize.html", "/network.html");
+ redirects.put("exit-relays-graphs.html", "/network.html");
+ redirects.put("bridge-users-graphs.html", "/users.html");
+ redirects.put("new-users-graphs.html", "/users.html");
+ redirects.put("consensus-graphs.html", "/network.html");
+ redirects.put("recurring-users-graphs.html", "/users.html");
+ redirects.put("torperf-graphs.html", "/performance.html");
+ redirects.put("gettor-graphs.html", "/packages.html");
+ redirects.put("custom-graph.html", "/graphs.html");
+ }
+
+ public void doGet(HttpServletRequest request,
+ HttpServletResponse response) throws IOException, ServletException {
+
+ /* Find out which page was requested. */
+ String requestedPage = request.getRequestURI();
+ if (requestedPage.contains("/")) {
+ requestedPage = requestedPage.substring(requestedPage.
+ lastIndexOf("/") + 1);
+ }
+
+ /* Make sure we know where to redirect this request. */
+ if (!redirects.containsKey(requestedPage)) {
+ response.sendError(HttpServletResponse.SC_NOT_FOUND, requestedPage);
+ return;
+ }
+
+ /* Redirect the request. */
+ response.sendRedirect(redirects.get(requestedPage));
+ }
+}
+
--
1.7.1
More information about the tor-commits
mailing list