Repository: knox Updated Branches: refs/heads/master 684466faa -> 6eb64e525
KNOX-732 - Knox does not recompress javascript resources (Sandeep More via lmccay) Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/6eb64e52 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/6eb64e52 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/6eb64e52 Branch: refs/heads/master Commit: 6eb64e5256f7d735e1db3cefd10fca6cd67d92ca Parents: 684466f Author: Larry McCay <lmc...@hortonworks.com> Authored: Thu Sep 15 10:29:28 2016 -0400 Committer: Larry McCay <lmc...@hortonworks.com> Committed: Thu Sep 15 10:29:28 2016 -0400 ---------------------------------------------------------------------- gateway-server/pom.xml | 4 ++++ .../org/apache/hadoop/gateway/GatewayServer.java | 19 +++++++++++++++++-- pom.xml | 5 +++++ 3 files changed, 26 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/knox/blob/6eb64e52/gateway-server/pom.xml ---------------------------------------------------------------------- diff --git a/gateway-server/pom.xml b/gateway-server/pom.xml index 945f200..7501aaf 100644 --- a/gateway-server/pom.xml +++ b/gateway-server/pom.xml @@ -111,6 +111,10 @@ <artifactId>jetty-webapp</artifactId> </dependency> <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-servlets</artifactId> + </dependency> + <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> </dependency> http://git-wip-us.apache.org/repos/asf/knox/blob/6eb64e52/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayServer.java ---------------------------------------------------------------------- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayServer.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayServer.java index c043705..15baa56 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayServer.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayServer.java @@ -87,6 +87,7 @@ import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.handler.ContextHandlerCollection; import org.eclipse.jetty.server.handler.HandlerCollection; import org.eclipse.jetty.server.handler.RequestLogHandler; +import org.eclipse.jetty.servlets.gzip.GzipHandler; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.eclipse.jetty.util.thread.QueuedThreadPool; import org.eclipse.jetty.webapp.Configuration; @@ -351,9 +352,23 @@ public class GatewayServer { CorrelationHandler correlationHandler = new CorrelationHandler(); correlationHandler.setHandler( traceHandler ); - DefaultTopologyHandler defaultTopoHandler = new DefaultTopologyHandler( config, services, contexts ); + /* KNOX-732: Handler for GZip compression */ + GzipHandler gzipHandler = new GzipHandler(); + gzipHandler.addIncludedMimeTypes("text/html", "text/plain", "text/xml", + "text/css", "application/javascript", "text/javascript"); + gzipHandler.setHandler(correlationHandler); + + DefaultTopologyHandler defaultTopoHandler = new DefaultTopologyHandler( + config, services, contexts); + + /* + * Chaining the gzipHandler to correlationHandler. The expected flow here is + * defaultTopoHandler -> logHandler -> gzipHandler -> correlationHandler -> + * traceHandler + */ + handlers.setHandlers( + new Handler[] { defaultTopoHandler, logHandler, gzipHandler }); - handlers.setHandlers( new Handler[]{ correlationHandler, defaultTopoHandler, logHandler } ); return handlers; } http://git-wip-us.apache.org/repos/asf/knox/blob/6eb64e52/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 8894a2b..50371b1 100644 --- a/pom.xml +++ b/pom.xml @@ -698,6 +698,11 @@ <version>${jetty-version}</version> </dependency> <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-servlets</artifactId> + <version>${jetty-version}</version> + </dependency> + <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version>