changeset 230:e18145dc173b

Serve precompressed web-client assets if available Reviewed-by: jerboaa Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2017-August/024573.html
author Andrew Azores <aazores@redhat.com>
date Mon, 21 Aug 2017 08:57:27 -0400
parents 8e7b37db2ede
children eb87674844fd
files server/src/main/java/com/redhat/thermostat/gateway/server/webclient/StaticAssetsHandler.java
diffstat 1 files changed, 10 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/server/src/main/java/com/redhat/thermostat/gateway/server/webclient/StaticAssetsHandler.java	Wed Aug 16 09:52:58 2017 -0400
+++ b/server/src/main/java/com/redhat/thermostat/gateway/server/webclient/StaticAssetsHandler.java	Mon Aug 21 08:57:27 2017 -0400
@@ -39,7 +39,8 @@
 import java.io.File;
 
 import org.eclipse.jetty.server.handler.ContextHandler;
-import org.eclipse.jetty.server.handler.ResourceHandler;
+import org.eclipse.jetty.servlet.DefaultServlet;
+import org.eclipse.jetty.servlet.ServletContextHandler;
 
 import com.redhat.thermostat.gateway.common.core.servlet.GlobalConstants;
 
@@ -60,15 +61,14 @@
     }
 
     public ContextHandler create() {
-        ContextHandler apiContext = new ContextHandler();
-        apiContext.setContextPath(WEB_CLIENT_CONTEXT_PATH);
-        ResourceHandler resourceHandler = new ResourceHandler();
-        resourceHandler.setDirectoriesListed(false);
-        resourceHandler.setWelcomeFiles(new String[]{ "index.html" });
-        File webClientDir = getWebClientAssetsDir();
-        resourceHandler.setResourceBase(webClientDir.getAbsolutePath());
-        apiContext.setHandler(resourceHandler);
-        return apiContext;
+        ServletContextHandler servletContextHandler = new ServletContextHandler();
+        servletContextHandler.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "false");
+        servletContextHandler.setInitParameter("org.eclipse.jetty.servlet.Default.gzip", "true");
+        servletContextHandler.setInitParameter("org.eclipse.jetty.servlet.Default.resourceBase", getWebClientAssetsDir().getAbsolutePath());
+        servletContextHandler.setContextPath(WEB_CLIENT_CONTEXT_PATH);
+        servletContextHandler.setWelcomeFiles(new String[]{ "index.html" });
+        servletContextHandler.addServlet(DefaultServlet.class, "/");
+        return servletContextHandler;
     }
 
     private File getWebClientAssetsDir() {