Commit Graph

3327 Commits

Author SHA1 Message Date
Lachlan 41a7b8d4e3
Merge pull request #4539 from eclipse/jetty-10.0.x-4501-SharedBlockingCallback
Issue #4501 - remove all SharedBlockingCallback usage from websocket
2020-02-05 10:07:12 +11:00
Lachlan Roberts cbb09413fd Issue #4501 - fix test expectations to throw CloseChannelException
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-03 18:34:19 +11:00
Lachlan Roberts 3344772e2f Issue #4447 - hard code in version for javax-websocket-api 1.1.2
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-03 18:29:46 +11:00
Lachlan Roberts 182daf8504 Issue #4501 - remove all SharedBlockingCallback usage from websocket
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-02-03 17:20:45 +11:00
Lachlan f8219a56cc
Merge pull request #4535 from eclipse/jetty-10.0.x-4462-javaxWSClose
Issue #4462 - do not throw IOException on Javax websocket close
2020-02-03 10:22:23 +11:00
Lachlan Roberts fde1ab3e5b Issue #4462 - fix incorrect test expectations
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-31 16:31:35 +11:00
Lachlan Roberts a7c0c57496 Issue #4447 - separate modules for jetty and javax websockets
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-31 15:58:20 +11:00
Lachlan Roberts bdaa06e8dd Issue #4462 - do not throw IOException on Javax websocket close
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-31 11:09:30 +11:00
Simone Bordet ce6e146ac1
Merge pull request #4489 from eclipse/jetty-10.0.x-2643-pkcs12_keystores
Fixes #2643 - Switch SslContextFactory.keystoreType from JKS to PKCS12.
2020-01-30 19:28:49 +01:00
Lachlan Roberts b4d2ccc6b8 Make the WebSocketServerContainer initialize methods private
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-30 15:01:15 +11:00
Lachlan Roberts 006fd3f913 Issue #4226 - fix test failures
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-30 11:26:51 +11:00
Lachlan Roberts 82c61c48eb Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4226-JavaxWebSocketJPMS 2020-01-30 10:37:34 +11:00
Lachlan 19354d0c24
Merge pull request #4523 from eclipse/jetty-10.0.x-4502-wsOnClose
Issue #4502 - allow changing of close response from jetty and javax websocket onClose events
2020-01-30 09:10:48 +11:00
Simone Bordet 96741ebb28 Fixed compilation issues after merge.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-29 10:11:21 +01:00
Lachlan Roberts 1afb7fd1f2 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4450-WebSocketCoreJPMS 2020-01-29 19:21:39 +11:00
Lachlan Roberts 8638fb2cc3 Fix broken test cases
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-29 19:13:03 +11:00
Lachlan Roberts fdd27a9f28 Issue #4502 - add onClose tests for Jetty and Javax WS APIs
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-29 15:20:36 +11:00
Lachlan Roberts 4ef208e9f6 Issue #4502 - onClose can now be triggered on receiving a close frame
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-29 15:19:48 +11:00
Lachlan f6fd3c41a5
Issue #4462 - Prevent jetty 10 WebSocket close deadlocks (#4472)
- Replicate problems from WS close deadlock with test cases
- use FutureCallback instead of SharedBlockingCallback for WS blocking methods
- add timeout to the blocking callbacks for WS for (idleTimeout + 1000ms)
- Core throws ClosedChannelException instead of ISE if send after closed
2020-01-29 09:15:40 +11:00
Lachlan Roberts a4b85d1df2 Issue #4226 JavaxWebSocketServerContainer leaking into public signature
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-28 18:16:22 +11:00
Lachlan Roberts 6698592139 Add tests for Javax ServerContainer default configuration.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-28 18:15:27 +11:00
Lachlan Roberts 6c2c4d8ad7 Issue 4450 - remove ConfigurationCustomizer static method
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-24 11:05:14 +11:00
Lachlan Roberts 64d72abde6 Extension interface now uses CoreSession and not Configuration
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-23 10:20:40 +11:00
Lachlan Roberts bc88224f19 combine ConfigurationHolder and ConfigurationCustomizer
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-22 18:15:59 +11:00
Lachlan Roberts f35a01c73c further checkstyle fixes
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-22 17:26:07 +11:00
Lachlan Roberts acabec2e91 fix licence headers and checkstyle
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-22 16:08:08 +11:00
Lachlan Roberts 86037367bc Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4450-WebSocketCoreJPMS 2020-01-22 14:51:51 +11:00
Simone Bordet d60b4459bf Fixes #2643 - Switch SslContextFactory.keystoreType from JKS to PKCS12.
Updated old keystores to new PKCS12 keystores.
Removed unused keystores and truststores.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-17 09:48:51 +01:00
Joakim Erdfelt 01a5974f4b
Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	Jenkinsfile
#	examples/async-rest/async-rest-webapp/src/test/java/org/eclipse/jetty/example/asyncrest/DemoServer.java
#	jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java
#	jetty-http/src/test/java/org/eclipse/jetty/http/HttpParserTest.java
#	jetty-http/src/test/java/org/eclipse/jetty/http/HttpTester.java
#	jetty-http/src/test/java/org/eclipse/jetty/http/MultiPartParserTest.java
#	jetty-http/src/test/java/org/eclipse/jetty/http/PathMapTest.java
#	jetty-http/src/test/java/org/eclipse/jetty/http/matchers/HttpFieldsMatchersTest.java
#	jetty-maven-plugin/src/test/java/org/eclipse/jetty/maven/plugin/it/TestGetContent.java
#	jetty-server/src/test/java/org/eclipse/jetty/server/CookieCutterLenientTest.java
#	jetty-server/src/test/java/org/eclipse/jetty/server/CookieCutterTest.java
#	jetty-server/src/test/java/org/eclipse/jetty/server/PartialRFC2616Test.java
#	jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ServletLifeCycleTest.java
#	jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipContentLengthTest.java
#	jetty-servlets/src/test/java/org/eclipse/jetty/server/handler/gzip/GzipDefaultNoRecompressTest.java
#	jetty-servlets/src/test/java/org/eclipse/jetty/servlets/MultipartFilterTest.java
#	jetty-unixsocket/src/test/java/org/eclipse/jetty/unixsocket/UnixSocketClient.java
#	jetty-util/src/test/java/org/eclipse/jetty/util/B64CodeTest.java
#	jetty-util/src/test/java/org/eclipse/jetty/util/resource/FileSystemResourceTest.java
#	jetty-util/src/test/java/org/eclipse/jetty/util/ssl/X509Test.java
#	jetty-webapp/src/test/java/org/eclipse/jetty/webapp/ClasspathPatternTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/LargeMessageTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScannerGoodSignaturesTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScannerInvalidSignaturesTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/metadata/EncoderMetadataSetTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/utils/ReflectUtilsTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ConfiguratorTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/DelayedStartClientOnServerTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/RestartContextTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScannerGoodSignaturesTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScannerInvalidSignaturesTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/ErrorCloseTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientConnectTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientSessionsTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/WebSocketClientTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/PartialListenerTest.java
#	jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/extensions/ExtensionConfigTest.java
#	jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/util/QuoteUtilQuoteTest.java
#	jetty-websocket/websocket-api/src/test/java/org/eclipse/jetty/websocket/api/util/QuoteUtilTest.java
#	jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ConnectionManagerTest.java
#	jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/TomcatServerQuirksTest.java
#	jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/WebSocketClientInitTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/GeneratorTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/TextPayloadParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase11.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase12.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase2.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase4.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase73.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedScannerTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/ByteAccumulatorTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateFrameExtensionTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/PerMessageDeflateExtensionTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/ConnectionStateTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/http/HttpResponseHeaderParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageDebug.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/Utf8CharBufferTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitGenerator.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/util/Utf8PartialBuilderTest.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/RedirectWebSocketClientTest.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/SimpleServletServer.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase1.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase2.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase3.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase4.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase5.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6BadUTF.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase6GoodUTF.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7BadStatusCodes.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase7GoodStatusCodes.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/TestABCase9.java
#	pom.xml
#	tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/ContinuationsTest.java
#	tests/test-sessions/test-jdbc-sessions/src/test/java/org/eclipse/jetty/server/session/JdbcTestHelper.java
#	tests/test-webapps/test-jetty-webapp/src/test/java/org/eclipse/jetty/TestServer.java
#	tests/test-webapps/test-proxy-webapp/src/test/java/org/eclipse/jetty/TestTransparentProxyServer.java
2020-01-15 12:20:20 -06:00
Joakim Erdfelt 81d32f64f0
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/EventSocket.java
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketUpgradeRequest.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
2020-01-15 11:44:43 -06:00
Joakim Erdfelt 8c65309963
Addressing Checkstyle violations in src/test/java
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-01-14 12:33:34 -06:00
Lachlan Roberts a7b9df96fd cleanup WebSocket logging in EventSocket
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-14 10:33:19 +11:00
Lachlan e1f19be353
Closes #2620 - guard against exceptions for WebSocket onClose and onError (#4346)
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-14 09:22:56 +11:00
Lachlan 5bd4cee7c8
Fixes #4408 - fix issues with javax metadata and decoders (#4452)
Remove the metadata cache per endpoint class, to allow deployment of the same class with different EndpointConfig settings.

JavaxServerFrameHandlerFactory now matches for decoders before matching for basic onMessage signatures.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-01-13 13:49:10 +11:00
Joakim Erdfelt 1f8ad08281
Fixing Checkstyle violations
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-01-09 15:56:06 -06:00
Simone Bordet 5f82e17d2f Issue #3578 - Adopt EPL-2.0 for Jetty-10.
WIP: updated copyright headers for Java files.

TODO: doc files and META-INF files inside jars.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-09 20:10:19 +01:00
Simone Bordet b14c9b6fae Updated copyright in new classes.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-07 17:40:11 +01:00
Simone Bordet 17ec83f5cf Merged 'jetty-10.0.x' into 'jetty-10.0.x-4450-WebSocketCoreJPMS'. 2020-01-07 17:26:31 +01:00
Simone Bordet a5c99207fc Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-01-07 17:02:40 +01:00
Simone Bordet 923ec38adf Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2020-01-07 16:51:25 +01:00
Simone Bordet e3c8546667 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2020-01-07 16:35:05 +01:00
Simone Bordet de890bb1b7 Happy New Year 2020.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-01-07 16:25:32 +01:00
Joakim Erdfelt f4e7e4c3db Merge branch 'release-9.4.25' into jetty-9.4.x 2020-01-03 12:49:27 -06:00
olivier lamy ff48fba585 happy new year
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-01-02 21:59:21 +01:00
olivier lamy e1371a1c13 happy new year
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-01-02 21:54:05 +01:00
Lachlan Roberts eef87a3fe1 fix broken test
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-31 12:53:05 +11:00
Lachlan Roberts 356e98f737 Clean up websocket-core package structure
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-31 09:33:58 +11:00
Lachlan Roberts f1838c5f88 Issue #4450 - remove methods to create WS CoreSession and Connection
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-30 13:50:00 +11:00
Lachlan Roberts cf31ab2b9a Issue #4450 - don't expose ExtensionStack through getter on Negotation
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-30 13:38:05 +11:00
Lachlan Roberts 0d571ef2c2 Issue #4450 - websocket Extensions no longer rely upon WSCoreSession
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-30 13:25:30 +11:00
Lachlan Roberts c98897315c Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4225-jpms_transitivity 2019-12-27 19:27:59 +11:00
Lachlan Roberts db0edf23de Update websocket artifact IDs
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-23 13:32:21 +11:00
Lachlan Roberts db45b0b906 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3678-WebSocketRename 2019-12-23 11:03:40 +11:00
Lachlan 0d433f50f6
Issue #4401 - Fix WebSocket ClassLoader issues. (#4435)
- WebSocketCoreSession now updates the context classloader before invoking application code.
- JavaxWebSocketConfiguration now protectAndExposes JavaxWebSocketClientContainerProvider
so it can be discovered by the ServiceLoader in a webapp.
2019-12-23 09:54:08 +11:00
Joakim Erdfelt 8974176c4b Updating to version 9.4.26-SNAPSHOT 2019-12-20 11:30:41 -06:00
Joakim Erdfelt a9729c7e7f Updating to version 9.4.25.v20191220 2019-12-20 10:46:56 -06:00
Lachlan Roberts 78c57131ae update values for bundle-symbolic-name
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-20 16:21:34 +11:00
Lachlan Roberts bc21b354c7 Rename websocket modules and directories with new naming convention.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-20 15:41:55 +11:00
Joakim Erdfelt 0982af15f9
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/ClientContainer.java
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java
2019-12-19 16:11:16 -06:00
Joakim Erdfelt c2c2c56a02
Issue #3730 - EventDriverFactory and SessionFactory setters
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-19 13:46:12 -06:00
Joakim Erdfelt 26fde02c55
Issue #3730 - Updating invalid test assertion
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-19 12:43:49 -06:00
Joakim Erdfelt 94988596a1
Issue #3730 - Further updates from PR Review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-19 12:33:43 -06:00
Simone Bordet e3bb5a7515 Issue #4225 - Fix JPMS transitivity.
Reworked all module-info.java files to take into
account JPMS transitivity.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-12-19 18:17:35 +01:00
Joakim Erdfelt bb79f3e6e0
Issue #3730 - Collapsing now redundant private Constructor
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-18 15:33:23 -06:00
Joakim Erdfelt e02ef3efdd
Issue #3730 - Making new Constructor private
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-18 14:43:53 -06:00
Joakim Erdfelt 9da1820f13
Issue #3730 - Removing HttpContainerScope
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-18 14:38:37 -06:00
Lachlan Roberts 1e884c2497 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4407-JavaxAnnotatedConfigDefault
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-17 10:55:07 +11:00
Lachlan ce6438c53e
Issue #4148 - config for jetty specific settings with javax WebSockets (#4295)
* Issue #4148 - config for jetty specific settings with javax WebSockets

* Make every jetty EndpointConfig implementation a wrapper
* Remove BasicEndpointConfig and use Client or Server specific ones
2019-12-17 10:04:07 +11:00
Joakim Erdfelt 7d65183e2c
Issue #3730 - Cleaning up Scopes in WebSocketClient
+ Introducing HttpContainerScope to track HttpClient specific
  ByteBufferPool, SslContextFactory, and Executor.
+ New private WebSocketClient constructor that use HttpContainerScope
+ Deprecated many constructors as irrelevant now that HttpClient
  is an option to create a WebSocketClient.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-12-13 13:44:57 -06:00
Lachlan Roberts 313f2e49f5 Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-4407-JavaxAnnotatedConfigDefault
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-13 11:43:36 +11:00
Lachlan Roberts d08c1025e9 Issue #4407 - fix broken tests, ServerFHF now extends ClientFHF
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-13 11:30:01 +11:00
Lachlan Roberts 74e7cca28d Issue #4407 - clean up usage of ClientEndpointConfig and testing
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-13 10:36:49 +11:00
Lachlan Roberts af2a9cfd5b Issue #4407 - merge annotated ServerEndpointConfig with provided config
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-12 13:31:17 +11:00
Lachlan Roberts b400d00f03 Issue #4407 - tests for annotations as default ServerEndpointConfig
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-09 18:24:32 +11:00
Lachlan 47117f88fb
Allow WebSocket extension selection to be done from UpgradeListener (#4379)
* Allow WebSocket extension selection to be done from UpgradeListener
* improve generation of extension string

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-12-05 13:16:16 +11:00
Lachlan afb81ed738
Issue #4349 - test client negotiation of internal extensions (#4355)
Added tests for WebSocket client negotiation of requested internal extensions. Changed the algorithm to remove from the requested list rather than add to the negotiated one.

Fixed other issues with the parsing of ExtensionConfig not giving correct errors for invalid content.
2019-12-02 08:45:32 +11:00
Lachlan acbc87a5da
Issue #4341 - do not modify payload ByteBuffer sending WebSocket frames (#4359)
- test that Frame buffer is unchanged after sending
- Generator and FrameFlusher no longer modify frame payload
- permessage-deflate no longer modify frame payload
- remove Buffer allocation from Generator
- outgoing autoFragment no longer modifies buffer
- minor cleanups and optimizations from review

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-29 08:41:20 +11:00
Simone Bordet 3b817821e7
Merge pull request #3740 from eclipse/jetty-10.0.x-3537-bootstrap_websocket_http2
Issue #3537 - Bootstrap websocket on HTTP/2
2019-11-28 15:47:26 +01:00
Lachlan Roberts e9c3eb0d73 remove duplicate TestFrameHandler from websocket core tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-28 14:27:00 +11:00
Lachlan 9dbdb97529
Merge pull request #4324 from eclipse/jetty-10.0.x-4315-OnlyStopWSSessionsOnce
Issue #4315 - stop WebSocketSessions only after onClose
2019-11-27 14:24:31 +11:00
Lachlan Roberts 2410f9d6c4 Issue #4315 - Jetty and Javax WebSocketSessions are no longer LifeCycles
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-27 13:51:14 +11:00
Lachlan efe76ff2e0
Issue #4152 - fragment outgoing frames before the ExtensionStack (#4232)
* Added FragmentingFlusher to abstract the fragmentation of frames.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Handle failure case of Fragmenting Flusher

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Fragment outgoing frames before the ExtensionStack

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* update javadoc

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* separate frame size validation for incoming and outgoing frames

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* fix test

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* reimplement FragmentingFlusher with the new TransformingFlusher

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-26 14:51:40 +11:00
Lachlan Roberts dc4ada14ea add extra test for server connection close before ws handshake
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-22 21:13:39 +11:00
Simone Bordet f14ab3fc39 Merge branch 'jetty-10.0.x' into 'jetty-10.0.x-3537-bootstrap_websocket_http2'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-11-22 09:43:01 +01:00
Joakim Erdfelt 0f7a3b2d91 Updating to version 9.4.25-SNAPSHOT 2019-11-20 16:08:38 -06:00
Joakim Erdfelt 363d5f2df3 Updating to version 9.4.24.v20191120 2019-11-20 15:25:01 -06:00
Lachlan 04b1a77b6d
Issue #4152 - CompressExtension autoFragment with respect to maxFrameSize (#4260)
* rework ByteAccumulator to avoid unnecessary data copies
* use ByteAccumulator instead of BAOS for ws compression
* outgoing autoFragment working with permessage-deflate
* ByteAccumulator now uses fixed maxFrameSize and no ByteBufferPool
* rework deflate code and introduce TransformingFlusher
* use transforming flusher for outgoing compression
* general clean up CompressExtension and subclasses
* remove forward incoming method
* use flusher to fragment for the decompressing of incoming frames
* fix broken tests
* updates to TransformingFlusher
* tests for CompressExtension with no payload
* ByteAccumulator uses the BufferPool for the final buffer
* remove increased maxFrameSize from autobahn tests as we now autoFragment
* add test for gzip bomb
* fix typo
* use Throwable failure instead of canEnqueue
* changes to TransformingFlusher from review
* remove per frame deflate extension
* remove accumulation of data to maxFrameSize in CompressExtension
* race between finished being set and callback being completed
* cleanup of transforming flusher
* fix issues with the TransformingFlushers
* add internal parameters for deflate and inflate BufferSize
* missing licence header
* wip
* don't use same extension config instances in negotiated extensions
* changes to TransformingFlusher from review
* fix internal extensions requested by client
* javadoc update
* javadoc and cleanup from review
* remove ByteAccumulator
* fix module-info
* null out current on callback completion
* remove override of succeeded and failed

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-19 12:34:58 +11:00
Joakim Erdfelt 453d41940b Updating to version 9.4.24-SNAPSHOT 2019-11-18 13:52:51 -06:00
Joakim Erdfelt abbccc65d6 Updating to version 9.4.23.v20191118 2019-11-18 13:09:44 -06:00
Lachlan Roberts 738de7bb02 Issue #4315 - stop WebSocketSessions only after onClose
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-18 19:16:01 +11:00
Lachlan Roberts afc3aed5d3 return 503 if null FrameHandler in 8441 and add new tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-18 17:21:15 +11:00
Lachlan Roberts 79a017d3ba notify handshake listener after request headers are set
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-18 14:35:28 +11:00
Simone Bordet c6ec9fb4d2 Fixed handling of DATA frames arriving _before_ the upgrade.
Now CONNECT with :protocol requests will demand DATA frames only
after the upgrade.

Other requests will demand DATA frames during the handling of
the request HEADERS frame.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-11-16 19:56:00 +01:00
Simone Bordet 5e695919d9 Implemented support for RFC 8441's SETTING_ENABLE_CONNECT_PROTOCOL.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-11-14 23:48:34 +01:00
Simone Bordet 98574f28a0 Reduced code duplication in Handshakers and Negotiations.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-11-14 17:46:40 +01:00
Joakim Erdfelt c44e7c5eb1
Merge pull request #4299 from eclipse/jetty-9.4.x-4248-websocketclient-success-flag
Fixes #4248 - WebSocketClient UpgradeResponse.isSuccess never set true
2019-11-14 09:42:45 -06:00
Simone Bordet 06ce13e226 Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3537-bootstrap_websocket_http2'. 2019-11-14 12:42:15 +01:00
Joakim Erdfelt 5479ed030f
Issue #4248 - Using ServletUpgradeResponse.setSuccess(true) for servlet side
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-13 15:33:00 -06:00
Joakim Erdfelt 6a6206d8e4
Issue #4248 - Deprecating UpgradeResponse setSuccess / isSuccess
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-11-13 15:32:23 -06:00
Joakim Erdfelt 1edff35676
Merge branch 'jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientConnectTest.java
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/ClientUpgradeRequest.java
2019-11-13 10:58:48 -06:00