From 7613385578e07417bb8cb9acc55f14bd093c8275 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Mon, 16 Jun 2014 12:44:12 +0200 Subject: [PATCH] Moved NPN[Client|Server]Connection[Factory] classes to their own modules, akin for the ALPN classes, and refactored all code that was referencing them. --- .../eclipse/jetty/embedded/SpdyConnector.java | 8 +- .../eclipse/jetty/embedded/SpdyServer.java | 6 +- jetty-alpn/jetty-alpn-client/pom.xml | 4 +- jetty-alpn/jetty-alpn-server/pom.xml | 4 +- jetty-alpn/pom.xml | 2 - jetty-distribution/pom.xml | 5 + jetty-http2/http2-server/pom.xml | 20 ++-- .../jetty/http2/server/Http2Server.java | 26 ++---- jetty-npn/jetty-npn-client/pom.xml | 74 +++++++++++++++ .../npn}/client/NPNClientConnection.java | 2 +- .../client/NPNClientConnectionFactory.java | 2 +- jetty-npn/jetty-npn-server/pom.xml | 92 +++++++++++++++++++ .../src/main/config/etc/protonego-npn.xml | 21 +++++ .../modules/protonego-impl/npn-1.7.0_04.mod | 0 .../modules/protonego-impl/npn-1.7.0_05.mod | 0 .../modules/protonego-impl/npn-1.7.0_06.mod | 0 .../modules/protonego-impl/npn-1.7.0_07.mod | 0 .../modules/protonego-impl/npn-1.7.0_09.mod | 0 .../modules/protonego-impl/npn-1.7.0_10.mod | 0 .../modules/protonego-impl/npn-1.7.0_11.mod | 0 .../modules/protonego-impl/npn-1.7.0_13.mod | 0 .../modules/protonego-impl/npn-1.7.0_15.mod | 0 .../modules/protonego-impl/npn-1.7.0_17.mod | 0 .../modules/protonego-impl/npn-1.7.0_21.mod | 0 .../modules/protonego-impl/npn-1.7.0_25.mod | 0 .../modules/protonego-impl/npn-1.7.0_40.mod | 0 .../modules/protonego-impl/npn-1.7.0_45.mod | 0 .../modules/protonego-impl/npn-1.7.0_51.mod | 0 .../modules/protonego-impl/npn-1.7.0_55.mod | 0 .../modules/protonego-impl/npn-1.7.0_60.mod | 0 .../config/modules/protonego-impl/npn.mod | 4 + .../npn}/server/NPNServerConnection.java | 2 +- .../server/NPNServerConnectionFactory.java | 2 +- jetty-npn/pom.xml | 15 +++ .../NegotiatingServerConnectionFactory.java | 24 ++++- jetty-spdy/spdy-client/pom.xml | 5 + .../eclipse/jetty/spdy/client/SPDYClient.java | 1 + .../src/main/config/example-jetty-spdy.xml | 2 +- jetty-spdy/spdy-http-server/pom.xml | 6 ++ .../src/main/config/etc/protonego-npn.xml | 21 ----- .../server/http/HTTPSPDYServerConnector.java | 2 +- .../proxy/HTTPSPDYProxyServerConnector.java | 2 +- .../server/http/ReferrerPushStrategyTest.java | 11 +-- jetty-spdy/spdy-npn-tests/pom.xml | 6 ++ .../proxy/NPNProxySPDYToHTTPLoadTest.java | 2 +- jetty-spdy/spdy-server/pom.xml | 5 + .../server/SPDYServerConnectionFactory.java | 31 ------- .../spdy/server/SPDYServerConnector.java | 1 + .../jetty/spdy/server/AbstractTest.java | 1 + pom.xml | 7 +- .../jetty/TestTransparentProxyServer.java | 6 +- 51 files changed, 307 insertions(+), 115 deletions(-) create mode 100644 jetty-npn/jetty-npn-client/pom.xml rename {jetty-spdy/spdy-client/src/main/java/org/eclipse/jetty/spdy => jetty-npn/jetty-npn-client/src/main/java/org/eclipse/jetty/npn}/client/NPNClientConnection.java (98%) rename {jetty-spdy/spdy-client/src/main/java/org/eclipse/jetty/spdy => jetty-npn/jetty-npn-client/src/main/java/org/eclipse/jetty/npn}/client/NPNClientConnectionFactory.java (97%) create mode 100644 jetty-npn/jetty-npn-server/pom.xml create mode 100644 jetty-npn/jetty-npn-server/src/main/config/etc/protonego-npn.xml rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_04.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_05.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_06.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_07.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_09.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_10.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_11.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_13.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_15.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_17.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_21.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_25.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_40.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_45.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_51.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_55.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn-1.7.0_60.mod (100%) rename {jetty-spdy/spdy-http-server => jetty-npn/jetty-npn-server}/src/main/config/modules/protonego-impl/npn.mod (91%) rename {jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy => jetty-npn/jetty-npn-server/src/main/java/org/eclipse/jetty/npn}/server/NPNServerConnection.java (98%) rename {jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy => jetty-npn/jetty-npn-server/src/main/java/org/eclipse/jetty/npn}/server/NPNServerConnectionFactory.java (98%) create mode 100644 jetty-npn/pom.xml delete mode 100644 jetty-spdy/spdy-http-server/src/main/config/etc/protonego-npn.xml diff --git a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyConnector.java b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyConnector.java index 05115382c77..e4853c264c4 100644 --- a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyConnector.java +++ b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyConnector.java @@ -18,14 +18,14 @@ package org.eclipse.jetty.embedded; +import org.eclipse.jetty.npn.server.NPNServerConnectionFactory; import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.HttpConnectionFactory; +import org.eclipse.jetty.server.NegotiatingServerConnectionFactory; import org.eclipse.jetty.server.SecureRequestCustomizer; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.SslConnectionFactory; -import org.eclipse.jetty.spdy.server.NPNServerConnectionFactory; -import org.eclipse.jetty.spdy.server.SPDYServerConnectionFactory; import org.eclipse.jetty.spdy.server.http.HTTPSPDYServerConnectionFactory; import org.eclipse.jetty.spdy.server.http.ReferrerPushStrategy; import org.eclipse.jetty.util.ssl.SslContextFactory; @@ -72,8 +72,8 @@ public class SpdyConnector new HTTPSPDYServerConnectionFactory(3,https_config,new ReferrerPushStrategy()); // NPN Factory - SPDYServerConnectionFactory.checkProtocolNegotiationAvailable(); - NPNServerConnectionFactory npn = + NegotiatingServerConnectionFactory.checkProtocolNegotiationAvailable(); + NPNServerConnectionFactory npn = new NPNServerConnectionFactory(spdy3.getProtocol(),spdy2.getProtocol(),http.getDefaultProtocol()); npn.setDefaultProtocol(http.getDefaultProtocol()); diff --git a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyServer.java b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyServer.java index a9dfdc488f4..5e6e448d293 100644 --- a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyServer.java +++ b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SpdyServer.java @@ -23,6 +23,7 @@ import java.lang.management.ManagementFactory; import org.eclipse.jetty.deploy.DeploymentManager; import org.eclipse.jetty.deploy.providers.WebAppProvider; import org.eclipse.jetty.jmx.MBeanContainer; +import org.eclipse.jetty.npn.server.NPNServerConnectionFactory; import org.eclipse.jetty.security.HashLoginService; import org.eclipse.jetty.server.AsyncNCSARequestLog; import org.eclipse.jetty.server.ForwardedRequestCustomizer; @@ -30,6 +31,7 @@ import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.NCSARequestLog; +import org.eclipse.jetty.server.NegotiatingServerConnectionFactory; import org.eclipse.jetty.server.SecureRequestCustomizer; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; @@ -39,8 +41,6 @@ import org.eclipse.jetty.server.handler.DefaultHandler; import org.eclipse.jetty.server.handler.HandlerCollection; import org.eclipse.jetty.server.handler.RequestLogHandler; import org.eclipse.jetty.server.handler.StatisticsHandler; -import org.eclipse.jetty.spdy.server.NPNServerConnectionFactory; -import org.eclipse.jetty.spdy.server.SPDYServerConnectionFactory; import org.eclipse.jetty.spdy.server.http.HTTPSPDYServerConnectionFactory; import org.eclipse.jetty.spdy.server.http.PushStrategy; import org.eclipse.jetty.spdy.server.http.ReferrerPushStrategy; @@ -110,7 +110,7 @@ public class SpdyServer // Spdy Connector // Make sure that the required NPN implementations are available. - SPDYServerConnectionFactory.checkProtocolNegotiationAvailable(); + NegotiatingServerConnectionFactory.checkProtocolNegotiationAvailable(); // A ReferrerPushStrategy is being initialized. // See: http://www.eclipse.org/jetty/documentation/current/spdy-configuring-push.html for more details. diff --git a/jetty-alpn/jetty-alpn-client/pom.xml b/jetty-alpn/jetty-alpn-client/pom.xml index bc8b9059e38..1f8b0b960e6 100644 --- a/jetty-alpn/jetty-alpn-client/pom.xml +++ b/jetty-alpn/jetty-alpn-client/pom.xml @@ -6,9 +6,7 @@ 4.0.0 jetty-alpn-client - Jetty :: ALPN Client - Jetty ALPN client services - http://www.eclipse.org/jetty + Jetty :: ALPN :: Client ${project.groupId}.alpn.client diff --git a/jetty-alpn/jetty-alpn-server/pom.xml b/jetty-alpn/jetty-alpn-server/pom.xml index a5b0a1e7719..537fc2177ba 100644 --- a/jetty-alpn/jetty-alpn-server/pom.xml +++ b/jetty-alpn/jetty-alpn-server/pom.xml @@ -6,9 +6,7 @@ 4.0.0 jetty-alpn-server - Jetty :: ALPN Server - Jetty ALPN server services - http://www.eclipse.org/jetty + Jetty :: ALPN :: Server ${project.groupId}.alpn.server diff --git a/jetty-alpn/pom.xml b/jetty-alpn/pom.xml index 179b06624e7..c5403fcc4bd 100644 --- a/jetty-alpn/pom.xml +++ b/jetty-alpn/pom.xml @@ -8,8 +8,6 @@ jetty-alpn-parent pom Jetty :: ALPN :: Parent - Jetty ALPN services parent - http://www.eclipse.org/jetty jetty-alpn-server jetty-alpn-client diff --git a/jetty-distribution/pom.xml b/jetty-distribution/pom.xml index 2bc14963c46..aa0fb5b8c26 100644 --- a/jetty-distribution/pom.xml +++ b/jetty-distribution/pom.xml @@ -813,6 +813,11 @@ jetty-alpn-server ${project.version} + + org.eclipse.jetty + jetty-npn-server + ${project.version} + org.eclipse.jetty.example-async-rest example-async-rest-webapp diff --git a/jetty-http2/http2-server/pom.xml b/jetty-http2/http2-server/pom.xml index 8a26f2ec76c..3141e017a46 100644 --- a/jetty-http2/http2-server/pom.xml +++ b/jetty-http2/http2-server/pom.xml @@ -54,11 +54,6 @@ jetty-server ${project.version} - - org.eclipse.jetty.toolchain - jetty-test-helper - test - org.eclipse.jetty jetty-servlet @@ -66,15 +61,20 @@ test - org.eclipse.jetty.spdy - spdy-server + org.eclipse.jetty + jetty-alpn-server ${project.version} test - org.eclipse.jetty.npn - npn-api - ${npn.api.version} + org.eclipse.jetty.alpn + alpn-api + ${alpn.api.version} + test + + + org.eclipse.jetty.toolchain + jetty-test-helper test diff --git a/jetty-http2/http2-server/src/test/java/org/eclipse/jetty/http2/server/Http2Server.java b/jetty-http2/http2-server/src/test/java/org/eclipse/jetty/http2/server/Http2Server.java index 83019da8c87..e5965e2d50f 100644 --- a/jetty-http2/http2-server/src/test/java/org/eclipse/jetty/http2/server/Http2Server.java +++ b/jetty-http2/http2-server/src/test/java/org/eclipse/jetty/http2/server/Http2Server.java @@ -21,7 +21,6 @@ package org.eclipse.jetty.http2.server; import java.io.IOException; import java.util.Date; - import javax.servlet.Servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; @@ -29,14 +28,11 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import org.eclipse.jetty.http2.generator.Generator; -import org.eclipse.jetty.http2.hpack.HpackContext; -import org.eclipse.jetty.http2.hpack.HpackDecoder; -import org.eclipse.jetty.http2.hpack.HpackEncoder; -import org.eclipse.jetty.io.MappedByteBufferPool; -import org.eclipse.jetty.npn.NextProtoNego; +import org.eclipse.jetty.alpn.ALPN; +import org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory; import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.HttpConnectionFactory; +import org.eclipse.jetty.server.NegotiatingServerConnectionFactory; import org.eclipse.jetty.server.SecureRequestCustomizer; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; @@ -44,8 +40,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.spdy.server.NPNServerConnectionFactory; -import org.eclipse.jetty.spdy.server.SPDYServerConnectionFactory; import org.eclipse.jetty.util.ssl.SslContextFactory; @@ -92,21 +86,21 @@ public class Http2Server // HTTP2 factory HTTP2ServerConnectionFactory h2 = new HTTP2ServerConnectionFactory(https_config); - SPDYServerConnectionFactory.checkProtocolNegotiationAvailable(); - NPNServerConnectionFactory npn = - new NPNServerConnectionFactory(h2.getProtocol(),http.getDefaultProtocol()); - npn.setDefaultProtocol(http.getDefaultProtocol()); + NegotiatingServerConnectionFactory.checkProtocolNegotiationAvailable(); + ALPNServerConnectionFactory alpn = + new ALPNServerConnectionFactory(h2.getProtocol(),http.getDefaultProtocol()); + alpn.setDefaultProtocol(http.getDefaultProtocol()); // SSL Factory - SslConnectionFactory ssl = new SslConnectionFactory(sslContextFactory,npn.getProtocol()); + SslConnectionFactory ssl = new SslConnectionFactory(sslContextFactory,alpn.getProtocol()); // SPDY Connector ServerConnector http2Connector = - new ServerConnector(server,ssl,npn,h2,new HttpConnectionFactory(https_config)); + new ServerConnector(server,ssl,alpn,h2,new HttpConnectionFactory(https_config)); http2Connector.setPort(8443); server.addConnector(http2Connector); - NextProtoNego.debug=true; + ALPN.debug=true; server.start(); server.dumpStdErr(); diff --git a/jetty-npn/jetty-npn-client/pom.xml b/jetty-npn/jetty-npn-client/pom.xml new file mode 100644 index 00000000000..bf9b4564225 --- /dev/null +++ b/jetty-npn/jetty-npn-client/pom.xml @@ -0,0 +1,74 @@ + + + org.eclipse.jetty + jetty-npn-parent + 10.0.0-SNAPSHOT + + 4.0.0 + jetty-npn-client + Jetty :: NPN :: Client + + ${project.groupId}.npn.client + + + + + org.apache.felix + maven-bundle-plugin + true + + + + manifest + + + + org.eclipse.jetty.npn;resolution:=optional + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + + + org.apache.maven.plugins + maven-source-plugin + + + org.codehaus.mojo + findbugs-maven-plugin + + org.eclipse.jetty.npn.* + + + + + + + org.eclipse.jetty + jetty-io + ${project.version} + + + org.eclipse.jetty.npn + npn-api + ${npn.api.version} + provided + + + org.eclipse.jetty.toolchain + jetty-test-helper + test + + + diff --git a/jetty-spdy/spdy-client/src/main/java/org/eclipse/jetty/spdy/client/NPNClientConnection.java b/jetty-npn/jetty-npn-client/src/main/java/org/eclipse/jetty/npn/client/NPNClientConnection.java similarity index 98% rename from jetty-spdy/spdy-client/src/main/java/org/eclipse/jetty/spdy/client/NPNClientConnection.java rename to jetty-npn/jetty-npn-client/src/main/java/org/eclipse/jetty/npn/client/NPNClientConnection.java index 69c11d835da..c2519511019 100644 --- a/jetty-spdy/spdy-client/src/main/java/org/eclipse/jetty/spdy/client/NPNClientConnection.java +++ b/jetty-npn/jetty-npn-client/src/main/java/org/eclipse/jetty/npn/client/NPNClientConnection.java @@ -16,7 +16,7 @@ // ======================================================================== // -package org.eclipse.jetty.spdy.client; +package org.eclipse.jetty.npn.client; import java.util.List; import java.util.Map; diff --git a/jetty-spdy/spdy-client/src/main/java/org/eclipse/jetty/spdy/client/NPNClientConnectionFactory.java b/jetty-npn/jetty-npn-client/src/main/java/org/eclipse/jetty/npn/client/NPNClientConnectionFactory.java similarity index 97% rename from jetty-spdy/spdy-client/src/main/java/org/eclipse/jetty/spdy/client/NPNClientConnectionFactory.java rename to jetty-npn/jetty-npn-client/src/main/java/org/eclipse/jetty/npn/client/NPNClientConnectionFactory.java index 2a7d332fa5b..91156af2e90 100644 --- a/jetty-spdy/spdy-client/src/main/java/org/eclipse/jetty/spdy/client/NPNClientConnectionFactory.java +++ b/jetty-npn/jetty-npn-client/src/main/java/org/eclipse/jetty/npn/client/NPNClientConnectionFactory.java @@ -16,7 +16,7 @@ // ======================================================================== // -package org.eclipse.jetty.spdy.client; +package org.eclipse.jetty.npn.client; import java.io.IOException; import java.util.Map; diff --git a/jetty-npn/jetty-npn-server/pom.xml b/jetty-npn/jetty-npn-server/pom.xml new file mode 100644 index 00000000000..9554de4f0d6 --- /dev/null +++ b/jetty-npn/jetty-npn-server/pom.xml @@ -0,0 +1,92 @@ + + + org.eclipse.jetty + jetty-npn-parent + 10.0.0-SNAPSHOT + + 4.0.0 + jetty-npn-server + Jetty :: NPN :: Server + + ${project.groupId}.npn.server + + + + + org.apache.felix + maven-bundle-plugin + true + + + + manifest + + + + org.eclipse.jetty.npn,* + <_nouses>true + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + package + + single + + + + config + + + + + + + + org.apache.maven.plugins + maven-source-plugin + + + org.codehaus.mojo + findbugs-maven-plugin + + org.eclipse.jetty.npn.* + + + + + + + org.eclipse.jetty + jetty-server + ${project.version} + + + org.eclipse.jetty.npn + npn-api + ${npn.api.version} + provided + + + org.eclipse.jetty.toolchain + jetty-test-helper + test + + + diff --git a/jetty-npn/jetty-npn-server/src/main/config/etc/protonego-npn.xml b/jetty-npn/jetty-npn-server/src/main/config/etc/protonego-npn.xml new file mode 100644 index 00000000000..743a5ecd6f1 --- /dev/null +++ b/jetty-npn/jetty-npn-server/src/main/config/etc/protonego-npn.xml @@ -0,0 +1,21 @@ + + + + + + + spdy/3 + spdy/2 + http/1.1 + + + + http/1.1 + + + + + + diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_04.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_04.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_04.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_04.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_05.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_05.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_05.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_05.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_06.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_06.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_06.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_06.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_07.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_07.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_07.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_07.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_09.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_09.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_09.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_09.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_10.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_10.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_10.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_10.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_11.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_11.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_11.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_11.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_13.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_13.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_13.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_13.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_15.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_15.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_15.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_15.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_17.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_17.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_17.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_17.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_21.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_21.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_21.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_21.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_25.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_25.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_25.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_25.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_40.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_40.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_40.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_40.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_45.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_45.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_45.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_45.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_51.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_51.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_51.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_51.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_55.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_55.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_55.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_55.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_60.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_60.mod similarity index 100% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn-1.7.0_60.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn-1.7.0_60.mod diff --git a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn.mod b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn.mod similarity index 91% rename from jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn.mod rename to jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn.mod index 040aad10197..f9d02061fb1 100644 --- a/jetty-spdy/spdy-http-server/src/main/config/modules/protonego-impl/npn.mod +++ b/jetty-npn/jetty-npn-server/src/main/config/modules/protonego-impl/npn.mod @@ -23,6 +23,10 @@ protonego-impl [depend] protonego-impl/npn-${java.version} +[lib] +lib/jetty-npn-client-${jetty.version}.jar +lib/jetty-npn-server-${jetty.version}.jar + [xml] etc/protonego-npn.xml diff --git a/jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/NPNServerConnection.java b/jetty-npn/jetty-npn-server/src/main/java/org/eclipse/jetty/npn/server/NPNServerConnection.java similarity index 98% rename from jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/NPNServerConnection.java rename to jetty-npn/jetty-npn-server/src/main/java/org/eclipse/jetty/npn/server/NPNServerConnection.java index 1a9e291e0a6..5ba752dae7c 100644 --- a/jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/NPNServerConnection.java +++ b/jetty-npn/jetty-npn-server/src/main/java/org/eclipse/jetty/npn/server/NPNServerConnection.java @@ -16,7 +16,7 @@ // ======================================================================== // -package org.eclipse.jetty.spdy.server; +package org.eclipse.jetty.npn.server; import java.util.List; import javax.net.ssl.SSLEngine; diff --git a/jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/NPNServerConnectionFactory.java b/jetty-npn/jetty-npn-server/src/main/java/org/eclipse/jetty/npn/server/NPNServerConnectionFactory.java similarity index 98% rename from jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/NPNServerConnectionFactory.java rename to jetty-npn/jetty-npn-server/src/main/java/org/eclipse/jetty/npn/server/NPNServerConnectionFactory.java index c69f0fcd9e5..8c1cb190c54 100644 --- a/jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/NPNServerConnectionFactory.java +++ b/jetty-npn/jetty-npn-server/src/main/java/org/eclipse/jetty/npn/server/NPNServerConnectionFactory.java @@ -16,7 +16,7 @@ // ======================================================================== // -package org.eclipse.jetty.spdy.server; +package org.eclipse.jetty.npn.server; import java.util.List; import javax.net.ssl.SSLEngine; diff --git a/jetty-npn/pom.xml b/jetty-npn/pom.xml new file mode 100644 index 00000000000..163f0c7439a --- /dev/null +++ b/jetty-npn/pom.xml @@ -0,0 +1,15 @@ + + + org.eclipse.jetty + jetty-project + 10.0.0-SNAPSHOT + + 4.0.0 + jetty-npn-parent + pom + Jetty :: NPN :: Parent + + jetty-npn-server + jetty-npn-client + + diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/NegotiatingServerConnectionFactory.java b/jetty-server/src/main/java/org/eclipse/jetty/server/NegotiatingServerConnectionFactory.java index f826d711529..08c8817189e 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/NegotiatingServerConnectionFactory.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/NegotiatingServerConnectionFactory.java @@ -27,11 +27,31 @@ import org.eclipse.jetty.io.AbstractConnection; import org.eclipse.jetty.io.Connection; import org.eclipse.jetty.io.EndPoint; import org.eclipse.jetty.io.ssl.SslConnection; -import org.eclipse.jetty.server.AbstractConnectionFactory; -import org.eclipse.jetty.server.Connector; public abstract class NegotiatingServerConnectionFactory extends AbstractConnectionFactory { + public static void checkProtocolNegotiationAvailable() + { + if (!isAvailableInBootClassPath("org.eclipse.jetty.alpn.ALPN") && + !isAvailableInBootClassPath("org.eclipse.jetty.npn.NextProtoNego")) + throw new IllegalStateException("No ALPN nor NPN classes available"); + } + + private static boolean isAvailableInBootClassPath(String className) + { + try + { + Class klass = ClassLoader.getSystemClassLoader().loadClass(className); + if (klass.getClassLoader() != null) + throw new IllegalStateException(className + " must be on JVM boot classpath"); + return true; + } + catch (ClassNotFoundException x) + { + return false; + } + } + private final List protocols; private String defaultProtocol; diff --git a/jetty-spdy/spdy-client/pom.xml b/jetty-spdy/spdy-client/pom.xml index e70e92ca5fd..b883aeb72c7 100644 --- a/jetty-spdy/spdy-client/pom.xml +++ b/jetty-spdy/spdy-client/pom.xml @@ -49,6 +49,11 @@ jetty-alpn-client ${project.version} + + org.eclipse.jetty + jetty-npn-client + ${project.version} + org.eclipse.jetty.alpn alpn-api diff --git a/jetty-spdy/spdy-client/src/main/java/org/eclipse/jetty/spdy/client/SPDYClient.java b/jetty-spdy/spdy-client/src/main/java/org/eclipse/jetty/spdy/client/SPDYClient.java index b810e5cff43..e39e6856afd 100644 --- a/jetty-spdy/spdy-client/src/main/java/org/eclipse/jetty/spdy/client/SPDYClient.java +++ b/jetty-spdy/spdy-client/src/main/java/org/eclipse/jetty/spdy/client/SPDYClient.java @@ -41,6 +41,7 @@ import org.eclipse.jetty.io.NegotiatingClientConnectionFactory; import org.eclipse.jetty.io.SelectChannelEndPoint; import org.eclipse.jetty.io.SelectorManager; import org.eclipse.jetty.io.ssl.SslClientConnectionFactory; +import org.eclipse.jetty.npn.client.NPNClientConnectionFactory; import org.eclipse.jetty.spdy.FlowControlStrategy; import org.eclipse.jetty.spdy.api.GoAwayInfo; import org.eclipse.jetty.spdy.api.Session; diff --git a/jetty-spdy/spdy-example-webapp/src/main/config/example-jetty-spdy.xml b/jetty-spdy/spdy-example-webapp/src/main/config/example-jetty-spdy.xml index 47f83be8256..28419885168 100644 --- a/jetty-spdy/spdy-example-webapp/src/main/config/example-jetty-spdy.xml +++ b/jetty-spdy/spdy-example-webapp/src/main/config/example-jetty-spdy.xml @@ -84,7 +84,7 @@ - + spdy/3 diff --git a/jetty-spdy/spdy-http-server/pom.xml b/jetty-spdy/spdy-http-server/pom.xml index 31565522f89..fda057be235 100644 --- a/jetty-spdy/spdy-http-server/pom.xml +++ b/jetty-spdy/spdy-http-server/pom.xml @@ -86,6 +86,12 @@ jetty-client ${project.version} + + org.eclipse.jetty + jetty-npn-server + ${project.version} + + org.eclipse.jetty jetty-servlet diff --git a/jetty-spdy/spdy-http-server/src/main/config/etc/protonego-npn.xml b/jetty-spdy/spdy-http-server/src/main/config/etc/protonego-npn.xml deleted file mode 100644 index 6e30f39ed60..00000000000 --- a/jetty-spdy/spdy-http-server/src/main/config/etc/protonego-npn.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - spdy/3 - spdy/2 - http/1.1 - - - - http/1.1 - - - - - - diff --git a/jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/http/HTTPSPDYServerConnector.java b/jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/http/HTTPSPDYServerConnector.java index c68172d8a5c..cd3f06ba5bf 100644 --- a/jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/http/HTTPSPDYServerConnector.java +++ b/jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/http/HTTPSPDYServerConnector.java @@ -21,6 +21,7 @@ package org.eclipse.jetty.spdy.server.http; import java.util.Collections; import java.util.Map; +import org.eclipse.jetty.npn.server.NPNServerConnectionFactory; import org.eclipse.jetty.server.AbstractConnectionFactory; import org.eclipse.jetty.server.ConnectionFactory; import org.eclipse.jetty.server.HttpConfiguration; @@ -28,7 +29,6 @@ import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.spdy.api.SPDY; -import org.eclipse.jetty.spdy.server.NPNServerConnectionFactory; import org.eclipse.jetty.util.ssl.SslContextFactory; public class HTTPSPDYServerConnector extends ServerConnector diff --git a/jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/proxy/HTTPSPDYProxyServerConnector.java b/jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/proxy/HTTPSPDYProxyServerConnector.java index 65d16e2ed2d..44222bed332 100644 --- a/jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/proxy/HTTPSPDYProxyServerConnector.java +++ b/jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/proxy/HTTPSPDYProxyServerConnector.java @@ -21,12 +21,12 @@ package org.eclipse.jetty.spdy.server.proxy; import java.util.Objects; +import org.eclipse.jetty.npn.server.NPNServerConnectionFactory; import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.NegotiatingServerConnectionFactory; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.spdy.api.SPDY; -import org.eclipse.jetty.spdy.server.NPNServerConnectionFactory; import org.eclipse.jetty.spdy.server.SPDYServerConnectionFactory; import org.eclipse.jetty.util.ssl.SslContextFactory; diff --git a/jetty-spdy/spdy-http-server/src/test/java/org/eclipse/jetty/spdy/server/http/ReferrerPushStrategyTest.java b/jetty-spdy/spdy-http-server/src/test/java/org/eclipse/jetty/spdy/server/http/ReferrerPushStrategyTest.java index 0b8907e8daf..eec770d7504 100644 --- a/jetty-spdy/spdy-http-server/src/test/java/org/eclipse/jetty/spdy/server/http/ReferrerPushStrategyTest.java +++ b/jetty-spdy/spdy-http-server/src/test/java/org/eclipse/jetty/spdy/server/http/ReferrerPushStrategyTest.java @@ -18,10 +18,6 @@ package org.eclipse.jetty.spdy.server.http; -import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.core.IsEqual.equalTo; -import static org.junit.Assert.assertThat; - import java.io.IOException; import java.io.PrintWriter; import java.net.InetSocketAddress; @@ -31,12 +27,12 @@ import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; - import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.eclipse.jetty.npn.server.NPNServerConnectionFactory; import org.eclipse.jetty.server.ConnectionFactory; import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.Request; @@ -57,7 +53,6 @@ import org.eclipse.jetty.spdy.api.StreamFrameListener; import org.eclipse.jetty.spdy.api.StreamStatus; import org.eclipse.jetty.spdy.api.SynInfo; import org.eclipse.jetty.spdy.http.HTTPSPDYHeader; -import org.eclipse.jetty.spdy.server.NPNServerConnectionFactory; import org.eclipse.jetty.util.Callback; import org.eclipse.jetty.util.Fields; import org.eclipse.jetty.util.Promise; @@ -68,6 +63,10 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.core.IsEqual.equalTo; +import static org.junit.Assert.assertThat; + public class ReferrerPushStrategyTest extends AbstractHTTPSPDYTest { private static final Logger LOG = Log.getLogger(ReferrerPushStrategyTest.class); diff --git a/jetty-spdy/spdy-npn-tests/pom.xml b/jetty-spdy/spdy-npn-tests/pom.xml index 5634fec5df7..60782fd0048 100644 --- a/jetty-spdy/spdy-npn-tests/pom.xml +++ b/jetty-spdy/spdy-npn-tests/pom.xml @@ -52,6 +52,12 @@ ${npn.api.version} provided + + org.eclipse.jetty + jetty-npn-server + ${project.version} + test + org.eclipse.jetty jetty-start diff --git a/jetty-spdy/spdy-npn-tests/src/test/java/org/eclipse/jetty/spdy/server/proxy/NPNProxySPDYToHTTPLoadTest.java b/jetty-spdy/spdy-npn-tests/src/test/java/org/eclipse/jetty/spdy/server/proxy/NPNProxySPDYToHTTPLoadTest.java index 355c597744f..6ed3dd831bc 100644 --- a/jetty-spdy/spdy-npn-tests/src/test/java/org/eclipse/jetty/spdy/server/proxy/NPNProxySPDYToHTTPLoadTest.java +++ b/jetty-spdy/spdy-npn-tests/src/test/java/org/eclipse/jetty/spdy/server/proxy/NPNProxySPDYToHTTPLoadTest.java @@ -18,7 +18,7 @@ package org.eclipse.jetty.spdy.server.proxy; -import org.eclipse.jetty.spdy.server.NPNServerConnectionFactory; +import org.eclipse.jetty.npn.server.NPNServerConnectionFactory; public class NPNProxySPDYToHTTPLoadTest extends ProxySPDYToHTTPLoadTest { diff --git a/jetty-spdy/spdy-server/pom.xml b/jetty-spdy/spdy-server/pom.xml index 4e50110c334..e4bc43e1be0 100644 --- a/jetty-spdy/spdy-server/pom.xml +++ b/jetty-spdy/spdy-server/pom.xml @@ -55,6 +55,11 @@ jetty-server ${project.version} + + org.eclipse.jetty + jetty-npn-server + ${project.version} + org.eclipse.jetty.npn npn-api diff --git a/jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/SPDYServerConnectionFactory.java b/jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/SPDYServerConnectionFactory.java index 7d15ab168b3..c4ed673308d 100644 --- a/jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/SPDYServerConnectionFactory.java +++ b/jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/SPDYServerConnectionFactory.java @@ -47,37 +47,6 @@ import org.eclipse.jetty.util.annotation.ManagedObject; @ManagedObject("SPDY Server Connection Factory") public class SPDYServerConnectionFactory extends AbstractConnectionFactory { - /** - * @deprecated use {@link #checkProtocolNegotiationAvailable()} instead. - */ - @Deprecated - public static void checkNPNAvailable() - { - checkProtocolNegotiationAvailable(); - } - - public static void checkProtocolNegotiationAvailable() - { - if (!isAvailableInBootClassPath("org.eclipse.jetty.alpn.ALPN") && - !isAvailableInBootClassPath("org.eclipse.jetty.npn.NextProtoNego")) - throw new IllegalStateException("No ALPN nor NPN classes available"); - } - - private static boolean isAvailableInBootClassPath(String className) - { - try - { - Class klass = ClassLoader.getSystemClassLoader().loadClass(className); - if (klass.getClassLoader() != null) - throw new IllegalStateException(className + " must be on JVM boot classpath"); - return true; - } - catch (ClassNotFoundException x) - { - return false; - } - } - private final Queue sessions = new ConcurrentLinkedQueue<>(); private final short version; private final ServerSessionFrameListener listener; diff --git a/jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/SPDYServerConnector.java b/jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/SPDYServerConnector.java index cf73fe9fcbb..827bb5a06c9 100644 --- a/jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/SPDYServerConnector.java +++ b/jetty-spdy/spdy-server/src/main/java/org/eclipse/jetty/spdy/server/SPDYServerConnector.java @@ -20,6 +20,7 @@ package org.eclipse.jetty.spdy.server; import java.util.Objects; +import org.eclipse.jetty.npn.server.NPNServerConnectionFactory; import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.NegotiatingServerConnectionFactory; import org.eclipse.jetty.server.Server; diff --git a/jetty-spdy/spdy-server/src/test/java/org/eclipse/jetty/spdy/server/AbstractTest.java b/jetty-spdy/spdy-server/src/test/java/org/eclipse/jetty/spdy/server/AbstractTest.java index e5b21202756..19479fa31a4 100644 --- a/jetty-spdy/spdy-server/src/test/java/org/eclipse/jetty/spdy/server/AbstractTest.java +++ b/jetty-spdy/spdy-server/src/test/java/org/eclipse/jetty/spdy/server/AbstractTest.java @@ -22,6 +22,7 @@ package org.eclipse.jetty.spdy.server; import java.net.InetSocketAddress; import java.util.concurrent.Executor; +import org.eclipse.jetty.npn.server.NPNServerConnectionFactory; import org.eclipse.jetty.server.ConnectionFactory; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; diff --git a/pom.xml b/pom.xml index 3481c34ad18..75715000d4c 100644 --- a/pom.xml +++ b/pom.xml @@ -456,10 +456,11 @@ jetty-http-spi jetty-osgi jetty-alpn + jetty-npn - + diff --git a/tests/test-webapps/test-proxy-webapp/src/test/java/org/eclipse/jetty/TestTransparentProxyServer.java b/tests/test-webapps/test-proxy-webapp/src/test/java/org/eclipse/jetty/TestTransparentProxyServer.java index b1be102f65a..8cf38d51195 100644 --- a/tests/test-webapps/test-proxy-webapp/src/test/java/org/eclipse/jetty/TestTransparentProxyServer.java +++ b/tests/test-webapps/test-proxy-webapp/src/test/java/org/eclipse/jetty/TestTransparentProxyServer.java @@ -21,10 +21,12 @@ package org.eclipse.jetty; import java.lang.management.ManagementFactory; import org.eclipse.jetty.jmx.MBeanContainer; +import org.eclipse.jetty.npn.server.NPNServerConnectionFactory; import org.eclipse.jetty.server.ForwardedRequestCustomizer; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.HttpConnectionFactory; +import org.eclipse.jetty.server.NegotiatingServerConnectionFactory; import org.eclipse.jetty.server.SecureRequestCustomizer; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; @@ -32,8 +34,6 @@ import org.eclipse.jetty.server.SslConnectionFactory; import org.eclipse.jetty.server.handler.ContextHandlerCollection; import org.eclipse.jetty.server.handler.DefaultHandler; import org.eclipse.jetty.server.handler.HandlerCollection; -import org.eclipse.jetty.spdy.server.NPNServerConnectionFactory; -import org.eclipse.jetty.spdy.server.SPDYServerConnectionFactory; import org.eclipse.jetty.spdy.server.http.HTTPSPDYServerConnectionFactory; import org.eclipse.jetty.spdy.server.http.PushStrategy; import org.eclipse.jetty.spdy.server.http.ReferrerPushStrategy; @@ -102,7 +102,7 @@ public class TestTransparentProxyServer // Spdy Connector - SPDYServerConnectionFactory.checkProtocolNegotiationAvailable(); + NegotiatingServerConnectionFactory.checkProtocolNegotiationAvailable(); PushStrategy push = new ReferrerPushStrategy(); HTTPSPDYServerConnectionFactory spdy2 = new HTTPSPDYServerConnectionFactory(2,config,push); spdy2.setInputBufferSize(8192);