diff --git a/demos/demo-jetty-webapp/src/main/webapp/WEB-INF/web.xml b/demos/demo-jetty-webapp/src/main/webapp/WEB-INF/web.xml index b610408e0da..01f439c69ac 100644 --- a/demos/demo-jetty-webapp/src/main/webapp/WEB-INF/web.xml +++ b/demos/demo-jetty-webapp/src/main/webapp/WEB-INF/web.xml @@ -18,16 +18,6 @@ com.acme.TestListener - - PushFilter - org.eclipse.jetty.servlets.PushCacheFilter - true - - - PushFilter - /* - - QoSFilter org.eclipse.jetty.servlets.QoSFilter diff --git a/demos/embedded/src/main/java/org/eclipse/jetty/demos/Http2Server.java b/demos/embedded/src/main/java/org/eclipse/jetty/demos/Http2Server.java index 4c173a5968a..7c841dff409 100644 --- a/demos/embedded/src/main/java/org/eclipse/jetty/demos/Http2Server.java +++ b/demos/embedded/src/main/java/org/eclipse/jetty/demos/Http2Server.java @@ -53,7 +53,6 @@ import org.eclipse.jetty.server.SslConnectionFactory; import org.eclipse.jetty.servlet.DefaultServlet; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; -import org.eclipse.jetty.servlets.PushCacheFilter; import org.eclipse.jetty.util.resource.PathResource; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.slf4j.LoggerFactory; @@ -78,8 +77,6 @@ public class Http2Server throw new FileNotFoundException(docroot.toString()); context.setBaseResource(new PathResource(docroot)); - context.addFilter(PushCacheFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST)); - // context.addFilter(PushSessionCacheFilter.class,"/*",EnumSet.of(DispatcherType.REQUEST)); context.addFilter(PushedTilesFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST)); context.addServlet(new ServletHolder(servlet), "/test/*"); context.addServlet(DefaultServlet.class, "/").setInitParameter("maxCacheSize", "81920"); diff --git a/documentation/jetty-documentation/src/main/asciidoc/old_docs/gettingstarted/getting-started/jetty-running.adoc b/documentation/jetty-documentation/src/main/asciidoc/old_docs/gettingstarted/getting-started/jetty-running.adoc index c67eb93d231..11da3b7bccb 100644 --- a/documentation/jetty-documentation/src/main/asciidoc/old_docs/gettingstarted/getting-started/jetty-running.adoc +++ b/documentation/jetty-documentation/src/main/asciidoc/old_docs/gettingstarted/getting-started/jetty-running.adoc @@ -69,7 +69,6 @@ $ cd demo-base/ 2017-09-20 16:23:04.306:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@371a67ec{/async-rest,[file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-async-rest.war-_async-rest-any-5319296087878801290.dir/webapp/, jar:file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-async-rest.war-_async-rest-any-5319296087878801290.dir/webapp/WEB-INF/lib/example-async-rest-jar-{VERSION}.jar!/META-INF/resources],AVAILABLE}{/async-rest.war} 2017-09-20 16:23:04.429:INFO:oeja.AnnotationConfiguration:main: Scanning elapsed time=53ms 2017-09-20 16:23:04.432:WARN::main: test webapp is deployed. DO NOT USE IN PRODUCTION! -2017-09-20 16:23:04.511:INFO:oejsh.ManagedAttributeListener:main: update PushFilter null->org.eclipse.jetty.servlets.PushCacheFilter@2362f559 on o.e.j.w.WebAppContext@35e2d654{/test,file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-test.war-_test-any-6279588879522983394.dir/webapp/,STARTING}{/test.war} 2017-09-20 16:23:04.516:INFO:oejsh.ManagedAttributeListener:main: update QoSFilter null->org.eclipse.jetty.servlets.QoSFilter@7770f470 on o.e.j.w.WebAppContext@35e2d654{/test,file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-test.war-_test-any-6279588879522983394.dir/webapp/,STARTING}{/test.war} 2017-09-20 16:23:04.519:WARN:oeju.DeprecationWarning:main: Using @Deprecated Class org.eclipse.jetty.servlets.MultiPartFilter 2017-09-20 16:23:04.549:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@35e2d654{/test,file:///private/var/folders/h6/yb_lbnnn11g0y1jjlvqg631h0000gn/T/jetty-0.0.0.0-8080-test.war-_test-any-6279588879522983394.dir/webapp/,AVAILABLE}{/test.war} diff --git a/documentation/jetty-documentation/src/main/asciidoc/old_docs/http2/configuring-push.adoc b/documentation/jetty-documentation/src/main/asciidoc/old_docs/http2/configuring-push.adoc index d0611d36e3a..a7d6824c086 100644 --- a/documentation/jetty-documentation/src/main/asciidoc/old_docs/http2/configuring-push.adoc +++ b/documentation/jetty-documentation/src/main/asciidoc/old_docs/http2/configuring-push.adoc @@ -14,7 +14,7 @@ [[http2-configuring-push]] === Configuring HTTP/2 Push -HTTP/2 Push is a mechanism that allows the server to send multiple resources to the client for a single client request. +HTTP/2 Push is a spec deprecated mechanism that allows the server to send multiple resources to the client for a single client request. This will reduce the amount of round-trips necessary to retrieve all the resources that make up a web page and can significantly improve the page load time. HTTP/2 Push can be automated in your application by configuring a link:{JDURL}/org/eclipse/jetty/servlets/PushCacheFilter.html[`PushCacheFilter`] in the `web.xml`, in this way: diff --git a/jetty-http2/http2-client/src/test/java/org/eclipse/jetty/http2/client/PushCacheFilterTest.java b/jetty-http2/http2-client/src/test/java/org/eclipse/jetty/http2/client/PushCacheFilterTest.java index 757783fa441..475c2c20bfa 100644 --- a/jetty-http2/http2-client/src/test/java/org/eclipse/jetty/http2/client/PushCacheFilterTest.java +++ b/jetty-http2/http2-client/src/test/java/org/eclipse/jetty/http2/client/PushCacheFilterTest.java @@ -51,6 +51,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +/** + * @deprecated no replacement for this deprecated http feature (will be removed in Jetty 12) + */ +@Deprecated public class PushCacheFilterTest extends AbstractTest { private String contextPath = "/push"; diff --git a/jetty-servlets/src/main/config/modules/servlets.mod b/jetty-servlets/src/main/config/modules/servlets.mod index dee4a8aa5d2..fece222da3b 100644 --- a/jetty-servlets/src/main/config/modules/servlets.mod +++ b/jetty-servlets/src/main/config/modules/servlets.mod @@ -2,8 +2,9 @@ [description] Adds Jetty utility servlets and filters available to a webapp. -Puts org.eclipse.jetty.servlets on the server classpath (CGI, CrossOriginFilter, DosFilter, -MultiPartFilter, PushCacheFilter, QoSFilter, etc.) for use by all webapplications. +Puts org.eclipse.jetty.servlets on the server classpath +(CrossOriginFilter, DosFilter, MultiPartFilter, QoSFilter, etc.) +for use by all web applications. [depend] servlet diff --git a/jetty-servlets/src/main/java/module-info.java b/jetty-servlets/src/main/java/module-info.java index 06956bb29cf..95152f6fdbe 100644 --- a/jetty-servlets/src/main/java/module-info.java +++ b/jetty-servlets/src/main/java/module-info.java @@ -22,7 +22,7 @@ module org.eclipse.jetty.servlets // Only required if using CloseableDoSFilter. requires static org.eclipse.jetty.io; - // Only required if using DoSFilter, PushCacheFilter, etc. + // Only required if using DoSFilter, IncludeExcludeBasedFilter, etc. requires static org.eclipse.jetty.http; requires static org.eclipse.jetty.server; // Only required if using CrossOriginFilter, DoSFilter, etc. diff --git a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java index 39ba36c082c..d80e1020779 100644 --- a/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java +++ b/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/PushCacheFilter.java @@ -66,7 +66,9 @@ import org.slf4j.LoggerFactory; * cache.

*

If the init param useQueryInKey is set, then the query string is used as * as part of the key to identify a resource

+ * @deprecated no replacement for this deprecated http feature (will be removed in Jetty 12) */ +@Deprecated @ManagedObject("Push cache based on the HTTP 'Referer' header") public class PushCacheFilter implements Filter { @@ -80,6 +82,11 @@ public class PushCacheFilter implements Filter private long _renew = NanoTime.now(); private boolean _useQueryInKey; + public PushCacheFilter() + { + LOG.warn(PushCacheFilter.class.getSimpleName() + " is an example class not suitable for production."); + } + @Override public void init(FilterConfig config) throws ServletException {