|
48 | 48 | import org.eclipse.jetty.server.SslConnectionFactory;
|
49 | 49 | import org.eclipse.jetty.server.handler.ErrorHandler;
|
50 | 50 | import org.eclipse.jetty.server.handler.HandlerWrapper;
|
| 51 | +import org.eclipse.jetty.server.handler.gzip.GzipHandler; |
51 | 52 | import org.eclipse.jetty.server.session.HashSessionManager;
|
52 | 53 | import org.eclipse.jetty.servlet.ErrorPageErrorHandler;
|
53 | 54 | import org.eclipse.jetty.servlet.ServletHolder;
|
54 | 55 | import org.eclipse.jetty.servlet.ServletMapping;
|
55 |
| -import org.eclipse.jetty.servlets.gzip.GzipHandler; |
56 | 56 | import org.eclipse.jetty.util.resource.JarResource;
|
57 | 57 | import org.eclipse.jetty.util.resource.Resource;
|
58 | 58 | import org.eclipse.jetty.util.ssl.SslContextFactory;
|
@@ -752,50 +752,47 @@ public HandlerWrapper createGzipHandler(Compression compression) {
|
752 | 752 |
|
753 | 753 | private static class Jetty92GzipHandlerFactory implements GzipHandlerFactory {
|
754 | 754 |
|
755 |
| - @Override |
756 |
| - public HandlerWrapper createGzipHandler(Compression compression) { |
757 |
| - GzipHandler gzipHandler = new GzipHandler(); |
758 |
| - gzipHandler.setMinGzipSize(compression.getMinResponseSize()); |
759 |
| - gzipHandler.addIncludedMimeTypes(compression.getMimeTypes()); |
760 |
| - if (compression.getExcludedUserAgents() != null) { |
761 |
| - gzipHandler.setExcluded(new HashSet<String>( |
762 |
| - Arrays.asList(compression.getExcludedUserAgents()))); |
763 |
| - } |
764 |
| - return gzipHandler; |
765 |
| - } |
766 |
| - |
767 |
| - } |
768 |
| - |
769 |
| - private static class Jetty93GzipHandlerFactory implements GzipHandlerFactory { |
770 |
| - |
771 | 755 | @Override
|
772 | 756 | public HandlerWrapper createGzipHandler(Compression compression) {
|
773 | 757 | try {
|
774 |
| - Class<?> handlerClass = ClassUtils.forName(GZIP_HANDLER_JETTY_9_3, |
| 758 | + Class<?> handlerClass = ClassUtils.forName(GZIP_HANDLER_JETTY_9_2, |
775 | 759 | getClass().getClassLoader());
|
776 |
| - HandlerWrapper handler = (HandlerWrapper) handlerClass.newInstance(); |
| 760 | + HandlerWrapper gzipHandler = (HandlerWrapper) handlerClass.newInstance(); |
777 | 761 | ReflectionUtils.findMethod(handlerClass, "setMinGzipSize", int.class)
|
778 |
| - .invoke(handler, compression.getMinResponseSize()); |
| 762 | + .invoke(gzipHandler, compression.getMinResponseSize()); |
779 | 763 | ReflectionUtils
|
780 |
| - .findMethod(handlerClass, "setIncludedMimeTypes", String[].class) |
781 |
| - .invoke(handler, new Object[] { compression.getMimeTypes() }); |
| 764 | + .findMethod(handlerClass, "addIncludedMimeTypes", String[].class) |
| 765 | + .invoke(gzipHandler, new Object[] { compression.getMimeTypes() }); |
782 | 766 | if (compression.getExcludedUserAgents() != null) {
|
783 |
| - ReflectionUtils |
784 |
| - .findMethod(handlerClass, "setExcludedAgentPatterns", |
785 |
| - String[].class) |
786 |
| - .invoke(handler, |
787 |
| - new Object[] { compression.getExcludedUserAgents() }); |
| 767 | + ReflectionUtils.findMethod(handlerClass, "setExcluded", Set.class) |
| 768 | + .invoke(gzipHandler, new HashSet<String>( |
| 769 | + Arrays.asList(compression.getExcludedUserAgents()))); |
788 | 770 | }
|
789 |
| - return handler; |
| 771 | + return gzipHandler; |
790 | 772 | }
|
791 | 773 | catch (Exception ex) {
|
792 |
| - throw new RuntimeException("Failed to configure Jetty 9.3 gzip handler", |
| 774 | + throw new RuntimeException("Failed to configure Jetty 9.2 gzip handler", |
793 | 775 | ex);
|
794 | 776 | }
|
795 | 777 | }
|
796 | 778 |
|
797 | 779 | }
|
798 | 780 |
|
| 781 | + private static class Jetty93GzipHandlerFactory implements GzipHandlerFactory { |
| 782 | + |
| 783 | + @Override |
| 784 | + public HandlerWrapper createGzipHandler(Compression compression) { |
| 785 | + GzipHandler handler = new GzipHandler(); |
| 786 | + handler.setMinGzipSize(compression.getMinResponseSize()); |
| 787 | + handler.setIncludedMimeTypes(compression.getMimeTypes()); |
| 788 | + if (compression.getExcludedUserAgents() != null) { |
| 789 | + handler.setExcludedAgentPatterns(compression.getExcludedUserAgents()); |
| 790 | + } |
| 791 | + return handler; |
| 792 | + } |
| 793 | + |
| 794 | + } |
| 795 | + |
799 | 796 | /**
|
800 | 797 | * {@link JettyServerCustomizer} to add {@link ForwardedRequestCustomizer}. Only
|
801 | 798 | * supported with Jetty 9 (hence the inner class)
|
|
0 commit comments