]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/PolicyRedirector.java
implement effective policy redirector.
[gigi.git] / src / org / cacert / gigi / PolicyRedirector.java
diff --git a/src/org/cacert/gigi/PolicyRedirector.java b/src/org/cacert/gigi/PolicyRedirector.java
new file mode 100644 (file)
index 0000000..8714d95
--- /dev/null
@@ -0,0 +1,25 @@
+package org.cacert.gigi;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.handler.HandlerWrapper;
+
+public class PolicyRedirector extends HandlerWrapper {
+       @Override
+       public void handle(String target, Request baseRequest,
+                       HttpServletRequest request, HttpServletResponse response)
+                       throws IOException, ServletException {
+               if (target.startsWith("/policy/") && target.endsWith(".php")) {
+                       target = target.replace(".php", ".html");
+                       response.sendRedirect("/static" + target);
+                       baseRequest.setHandled(true);
+                       return;
+               }
+               super.handle(target, baseRequest, request, response);
+       }
+}