From ba6fcf05c04e23a14a8d7b0c9512bf29d13d082a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Mon, 9 Feb 2015 01:41:14 +0100 Subject: [PATCH] ADD: expires headers. --- src/org/cacert/gigi/Launcher.java | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/org/cacert/gigi/Launcher.java b/src/org/cacert/gigi/Launcher.java index ff4b9b6e..a7ba8a17 100644 --- a/src/org/cacert/gigi/Launcher.java +++ b/src/org/cacert/gigi/Launcher.java @@ -25,6 +25,7 @@ import org.cacert.gigi.email.EmailProvider; import org.cacert.gigi.natives.SetUID; import org.cacert.gigi.util.CipherInfo; import org.cacert.gigi.util.ServerConstants; +import org.eclipse.jetty.http.HttpHeader; import org.eclipse.jetty.http.HttpVersion; import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Handler; @@ -194,8 +195,7 @@ public class Launcher { } private static ContextHandler generateGigiServletContext(ServletHolder webAppServlet) { - final ResourceHandler rh = new ResourceHandler(); - rh.setEtags(true); + final ResourceHandler rh = generateResourceHandler(); rh.setResourceBase("static/www"); HandlerWrapper hw = new PolicyRedirector(); @@ -220,8 +220,7 @@ public class Launcher { } private static Handler generateStaticContext() { - final ResourceHandler rh = new ResourceHandler(); - rh.setEtags(true); + final ResourceHandler rh = generateResourceHandler(); rh.setResourceBase("static/static"); ContextHandler ch = new ContextHandler(); @@ -233,6 +232,19 @@ public class Launcher { return ch; } + private static ResourceHandler generateResourceHandler() { + ResourceHandler rh = new ResourceHandler() { + + @Override + public void handle(String target, org.eclipse.jetty.server.Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws IOException, javax.servlet.ServletException { + response.setDateHeader(HttpHeader.EXPIRES.asString(), System.currentTimeMillis() + 1000L * 60 * 60 * 24 * 7); + super.handle(target, baseRequest, request, response); + } + }; + rh.setEtags(true); + return rh; + } + private static Handler generateAPIContext() { ServletContextHandler sch = new ServletContextHandler(); -- 2.39.2