Commit Graph

3885 Commits

Author SHA1 Message Date
Lachlan Roberts 7c46d96fce Issue #5499 - add tests for ByteBufferAccumulator
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-17 17:11:47 +11:00
Lachlan Roberts 5788fe609d Fix ByteBufferAccumulator minSize
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-16 18:43:22 +11:00
Lachlan Roberts a1aa5dcd14 Issue #5499 - use ByteBufferAccumulator for websocket compression
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-16 18:33:38 +11:00
Lachlan b2bd86701c
Merge pull request #5638 from eclipse/jetty-10.0.x-AutobahnDocker
Run websocket autobahn-testsuite with docker in junit test
2020-11-16 16:10:24 +11:00
Lachlan Roberts 3b22c6bc66 fix broken test: AltFilterTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-16 15:57:28 +11:00
olivier lamy 3e09b86903 should exclude autobahn test per default
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-11-14 13:04:19 +10:00
Lachlan Roberts 6dad0b1b7e rename WebSocketMapping to WebSocketMappings
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-14 10:46:09 +11:00
Lachlan Roberts 165beff3f3 add test for multiple WebSocketUpgradeFilters
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-14 10:43:14 +11:00
Lachlan Roberts 0493a11106 Use Filter name to identify the WebSocketUpgradeFilter.
Don't allow configuration of WebSocketMapping attribute.
The WebSocketUpgradeFilter is identified by it's name, which must be set as the fully qualified class name.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-13 22:06:20 +11:00
olivier lamy 26f1e0b723 use autobahn to not run it per default
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-11-13 15:24:27 +10:00
Lachlan Roberts a4160c4b5e Fix javadoc on websocket configuration classes.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-12 09:47:38 +11:00
Lachlan Roberts 595d4bfcc4 changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-11 22:18:26 +11:00
olivier lamy b1b5cc3cd3 not needed anymore
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-11-11 19:32:13 +10:00
olivier lamy bf01cf280e exclude autobahn via surefire property
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-11-11 18:59:56 +10:00
olivier lamy c46920dafd activate autobahn tests only for ci profile
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-11-11 17:48:35 +10:00
Lachlan Roberts b2979173c5 fail the junit test if there were any failed test cases
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-10 14:54:36 +11:00
Lachlan Roberts 5b9db15018 use the custom jettyproject/autobahn-testsuite image
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-10 14:42:22 +11:00
Lachlan Roberts ab8b4c3427 cleanups of AutobahnTests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-10 11:23:13 +11:00
Lachlan Roberts 42ebdc1bc3 Issue #5320 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-10 01:44:12 +11:00
Lachlan Roberts b6688c0267 Issue #5320 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-09 23:17:30 +11:00
Lachlan Roberts d62831fd6d Cleanups to WebSocket CloseStatus
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-09 19:46:08 +11:00
Lachlan Roberts 6ba1ac55b7 exclude incorrect test case 7.9.6
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-09 19:43:16 +11:00
Lachlan Roberts 53454e70cd Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-AutobahnDocker 2020-11-09 18:16:33 +11:00
Lachlan Roberts 32433b10ad revert change to the classloader used in isAvailable
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-09 18:12:50 +11:00
Lachlan Roberts 80a824854b Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-5320-WebSocketHttpClient2 2020-11-09 15:17:22 +11:00
Lachlan Roberts fa1914a5b1 Update Jetty WebSocketConfiguration classes
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-06 19:03:52 +11:00
Lachlan Roberts 3c44df0724 changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-06 14:09:13 +11:00
Lachlan Roberts 6e9572215b ByteAccumulator transferTo expects buffer in fill mode.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-05 19:11:34 +11:00
Lachlan Roberts 7bcae9968b allow writing directly into the ByteAccumulator
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-05 17:19:05 +11:00
Lachlan Roberts a3c3e24cab Use the ByteBufferPool in the ByteAccumulator
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-05 14:38:19 +11:00
Lachlan Roberts 145bcff649 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-ByteAccumulator 2020-11-05 13:43:00 +11:00
Lachlan Roberts 05dafb89ab Move work on ByteAccumulator to jetty-util
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-05 13:42:47 +11:00
Lachlan Roberts fc4e263f93 Add module and configuration for websocket-client provided to webapp.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-04 22:22:13 +11:00
Lachlan Roberts f857ac9756 fix failures from incorrectly configured WebSocketUpgradeFilters
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-04 15:13:59 +11:00
Lachlan Roberts 9c78e20314 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-WebSocketUpgradeFilter
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-04 10:53:45 +11:00
Lachlan Roberts 88b7035474 do not report unimplemented tests as failures
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-04 10:27:12 +11:00
Lachlan Roberts acff507200 increase the overall startup timeout to 2hours
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-04 10:09:15 +11:00
olivier lamy 07c3131517 use different name for test case result name
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-11-03 16:28:42 +10:00
Lachlan Roberts 8d21bb7b63 Issue #5320 - fix the XmlHttpClientProvider for jetty 10, re-enable tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-03 17:17:27 +11:00
Lachlan Roberts 64655f7b7e Issue #5320 - allow websocket client jars to be provided by server
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-03 17:16:27 +11:00
Joakim Erdfelt edaadff55b Updating to version 9.4.35-SNAPSHOT 2020-11-02 09:04:51 -06:00
Joakim Erdfelt e46af88704 Updating to version 9.4.34.v20201102 2020-11-02 08:03:51 -06:00
Lachlan Roberts 60c56d8856 changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-02 23:43:42 +11:00
Lachlan Roberts b327992f75 Don't enforce the default WebSocketMapping.
If a user wants to use the WebSocketUpgradeFilter with a different WebSocketMapping,
they can add the ServerContainer manually and put their own WebSocketMapping in.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-02 16:14:27 +11:00
Lachlan Roberts 5d9c81a511 revert to using init parameter to identify the WebSocketUpgradeFilter
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-11-02 15:44:14 +11:00
olivier lamy 137c1e8b3a localhost cannot work on kubernetes
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-11-02 13:06:04 +10:00
olivier lamy 1b8f3aa07a copy fuzzing config at start of the container
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-11-01 10:31:17 +10:00
olivier lamy 1ccbe7289c turn json reports to surefire reports
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-10-31 15:48:25 +10:00
Baoyi Chen 1f5b446462 Fix issue #5499
this PR let the ByteAccumulator recyclable. after invoke ByteAccumulator.transferTo method
we can invoke ByteAccumulator.recycle method to reuse byte[] via ByteAccumulator.newByteBuffer method

Signed-off-by: Baoyi Chen <chen.bao.yi@qq.com>
2020-10-31 00:08:30 +08:00
Lachlan Roberts 3c3fcc311e Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-5320-WebSocketHttpClient
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-30 12:43:31 +11:00
Lachlan Roberts 377d0a8dc0 fix checkstyle issues
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-29 16:17:01 +11:00
Lachlan Roberts d5222df896 copy all .json and .html reports from docker container
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-29 16:09:44 +11:00
olivier lamy 7ced55d18b start working on getting json result and transform then into junit results
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-10-29 07:54:06 +10:00
olivier lamy e3b79d5c86 use userdir only
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-10-28 20:14:24 +10:00
olivier lamy 32fc73d641 use try resource for container
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-10-28 20:14:24 +10:00
Lachlan Roberts e8db752f0b wip
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-28 20:14:24 +10:00
Lachlan Roberts 46de11ec2d debug to find jenkins workspace
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-28 20:14:23 +10:00
Lachlan Roberts 3a1f31c9eb only chown autobahn reports if directory exists
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-28 20:14:23 +10:00
Lachlan Roberts eacddab552 fix file permissions on websocket autobahn generated test reports
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-28 20:14:22 +10:00
Lachlan Roberts 5fd0b07c45 run WebSocket Autobahn tests in java code using Testcontainers
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-28 20:14:22 +10:00
Joakim Erdfelt e726eefb0b Updating to version 9.4.34-SNAPSHOT 2020-10-20 18:55:39 -05:00
Joakim Erdfelt 1be6875565 Updating to version 9.4.33.v20201020 2020-10-20 18:28:51 -05:00
Lachlan 681f46bd2a
Merge pull request #5406 from eclipse/jetty-10.0.x-WebSocketSCI
throw ISE if the WebSocketSCI configure() is called on a started ServletContextHandler
2020-10-16 17:13:19 +11:00
Lachlan c95fc2a3dc
Merge pull request #5295 from eclipse/jetty-10.0.x-5287-CompressionPool
Issue #5287 - rework CompressionPool to use the jetty-util pool
2020-10-16 17:12:36 +11:00
Lachlan Roberts 792531d124 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-10-16 17:08:01 +11:00
Lachlan f99b4ca80c
Merge pull request #5377 from eclipse/jetty-9.4.x-5368-WebSocketInputStream
Issue #5368 - ensure onMessage exits before next frame is read
2020-10-16 15:51:54 +11:00
Lachlan Roberts 7ed6998a9c
changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-15 14:55:07 -05:00
Lachlan Roberts dc74bcf4cc
throw ISE if WebSocketSCI.configure() is called on started ServletContextHandler
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-15 14:55:07 -05:00
Lachlan Roberts 4cb475c97d Issue #5320 - also test WebSocketClient on server from WEB-INF/lib
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-15 16:15:57 +11:00
Lachlan Roberts 1b07c846c6 Issue #5320 - use HttpClient classloader to load jetty-websocket-httpclient.xml
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-15 16:15:20 +11:00
Lachlan Roberts 6cd70ce136 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-5320-WebSocketHttpClient 2020-10-15 14:12:21 +11:00
Lachlan Roberts be041d3044 Issue #5368 - add tests for not reading to end of InputStream
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-15 12:10:33 +11:00
Lachlan Roberts 680020dcb2 Issue #5368 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-15 12:08:57 +11:00
Lachlan Roberts 4690aa51ba allow override of shared CompressionPools in WebSocketServerComponents
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-14 22:28:26 +11:00
Lachlan Roberts 0e3cfe8fc2 Issue #5287 - share compression pools and size with max num threads
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-14 22:28:26 +11:00
Lachlan Roberts 608a895aab Issue #5287 - make default CompressionPool capacity 1024
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-14 22:28:26 +11:00
Lachlan Roberts 5dc0242986 Issue #5287 - Changes from review & fix broken tests from NPE
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-14 22:28:26 +11:00
Lachlan Roberts 21576f2312 Issue #5287 - fix usages of new CompressionPool
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-14 22:28:26 +11:00
Lachlan Roberts 419eefc2ef move logic from messageComplete into appendFrame with fin==true
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-14 10:26:08 +11:00
Simone Bordet 1cd15e8d85
Fixes #5379 - Better handling for wrong SNI. (#5398)
* Fixes #5379 - Better handling for wrong SNI.

Reworked the SNI logic.
Added support for IP addresses in the SAN extension of certificates in the X509 class.
Fixed keystores to have CN=localhost and SAN with ip=127.0.0.1 and ip=[::1].
Fixed tests that were not using the correct Host header.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-10-12 15:48:53 +02:00
Joakim Erdfelt dfa076fdb5
Merge pull request #5403 from eclipse/jetty-10.0.x-5401-move-httptester
Move HttpTester to jetty-http
2020-10-12 06:14:44 -05:00
Lachlan Roberts 94bafba6ac simplify the usage of WebSocketUpgradeFilter
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-09 17:31:41 +11:00
Lachlan Roberts 7003b3c42e Issue #5378 - guard against concurrent requests lazily initializing the filter
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-08 08:46:51 +11:00
Lachlan Roberts 2a4d672fc1 Issue #5378 - improve testing for WebSocketUpgradeFilter
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-08 08:46:51 +11:00
Joakim Erdfelt 857e888e8b
Issue #5401 - Move HttpTester to jetty-http
+ leaving jetty-http-tools alone

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-10-07 14:50:31 -05:00
Lachlan Roberts 09947681fe allow MessageInputStream to read multiple bytes at a time
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-07 19:48:13 +11:00
Lachlan Roberts aa1299912d Issue #5368 - when resuming always call onFillable from newThread.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-07 16:32:06 +11:00
Lachlan Roberts 7df0dfa7c2 warn if did not read until EOF once per MessageInputStream 2020-10-07 15:41:51 +11:00
Lachlan Roberts 6c94ef5848 Issue #5368 - warn if MessageInputStream closed without fully consuming
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-06 17:43:58 +11:00
Lachlan Roberts a91a7630e0 fix NPE from contextClassLoader in XmlBasedHttpClientProvider
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-01 17:40:37 +10:00
Lachlan Roberts 941ffcead7 Issue #5368 - ensure onMessage exits before next frame is read
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-01 15:42:50 +10:00
Lachlan Roberts 81c88cdde0 Issue #5320 - do all exception handling in XmlBasedHttpClientProvider
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-01 14:03:25 +10:00
Lachlan Roberts 5b96f6f984 Issue #5320 - Run jetty-websocket-httpclient.xml with server class access.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-10-01 12:38:17 +10:00
Joakim Erdfelt 85e257fc98 Updating to version 9.4.33-SNAPSHOT 2020-09-30 11:53:09 -05:00
Joakim Erdfelt de97d26f7b Updating to version 9.4.32.v20200930 2020-09-30 11:03:24 -05:00
Lachlan Roberts 00f05cb94e Issue #5320 - reproduce failure to load httpClient for WebSocketClient in webapp
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-30 15:11:05 +10:00
Joakim Erdfelt ad2446dd6c
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-09-29 11:24:28 -05:00
Joakim Erdfelt 3423375a97
Issue #5357 - Updating to https://eclipse.org/ (#5358)
* Issue #5357 - Updating to https://eclipse.org/

 - Removing redundant <url> refs in pom.xml
 - Correcting bad indenting from merge
 - Correcting mailing list references
 - Correcting bugs.eclipse.org references
 - Correcting text file references
 - Correcting html references
 - Correcting further references
 - Correcting download.eclipse.org reference
 - Adding test for demo-base /proxy/current/
 - Ensuring jetty-client is included in javadoc-proxy.war/WEB-INF/lib

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-09-29 11:02:32 -05:00
Lachlan Roberts a55ddc2093 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-25 13:28:41 +10:00
Chris Walker 70c8822eef
Updated module descriptions for consistency. Resolves #5313 2020-09-23 13:10:47 -05:00
Lachlan Roberts 5d951e840e fix licence header and checkstyle
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-23 10:34:50 +10:00
Lachlan Roberts 2f3808026f Issue #5170 - add testing to verify if this issue exists in 9.4.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-22 18:23:55 +10:00
Lachlan 76cf6c8bdc
Merge pull request #5266 from eclipse/jetty-10.0.x-WebSocketAutoBahn
Issue #5170 - fix upgrade bug in HttpReceiverOverHTTP
2020-09-16 16:39:54 +10:00
Lachlan Roberts 9be277a810 debug log full stacktraces only in processConnectionError and processHandlerError
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-15 16:50:24 +10:00
Lachlan Roberts 14e6bd196e update javadoc for JDK MethodHandles bug tests, stop stacktrace in DistributionTests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-14 17:28:57 +10:00
Lachlan Roberts c9cd27ee4d Issue #5170 - fix upgrade bug in HttpReceiverOverHTTP
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-14 15:09:00 +10:00
Lachlan Roberts 48a8e2fca5 Improve test to reliably reproduce issue seen in the AutobahnTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-14 14:44:38 +10:00
Lachlan Roberts dd72e85b6a improvements to websocket-core logging to reduce duplicate stacktraces
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-14 14:07:20 +10:00
Lachlan Roberts 5d1d7c9c26 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-09-10 10:55:34 +10:00
Lachlan Roberts 609f0b2159 Merge branch 'jetty-10.0.x-4824-WSmaxOutgoingFrames' into jetty-10.0.x 2020-09-10 10:51:57 +10:00
Lachlan Roberts b44b62038c reorder methods for maxOutgoingFrames, fix javadoc
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-10 09:50:52 +10:00
Lachlan Roberts b7fb631b2d Merge remote-tracking branch 'origin/jetty-9.4.x-4824-WSmaxOutgoingFrames' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-10 09:48:39 +10:00
Lachlan Roberts 4fd7920143 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-4824-WSmaxOutgoingFrames 2020-09-10 09:46:12 +10:00
Lachlan Roberts 4023944d6d fix ServiceLoader file for ExtensionConfig.Parser
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-07 10:37:04 +10:00
Lachlan Roberts b5810b930d Issue #5824 - improve javadocs for RemoteEndpoint maxOutgoingFrames
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-04 17:43:36 +10:00
Lachlan Roberts 7082e2086a cleanups in Jetty WS API
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-04 17:08:44 +10:00
Lachlan Roberts 8bbea55ed9 remove the extensions package as extensions are now written in websocket-core
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-04 16:44:23 +10:00
Lachlan Roberts 8492697ae0 move Jetty WS API exceptions to separate package
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-04 16:40:16 +10:00
Lachlan Roberts 52c9f8730b Issue #4824 - create test for WebSocket maxOutgoingFrames
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-04 10:45:47 +10:00
Lachlan Roberts f788260abd Issue #4824 - use WritePendingException instead of IOException
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-03 14:58:09 +10:00
Simone Bordet 466ec0c2d5 Disabled tests broken in Java 15 due to a JVM bug.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-09-02 18:52:10 +02:00
Lachlan cdb12b4130
Merge pull request #5213 from eclipse/jetty-10.0.x-5170-HttpUpgradeBuffer
Issue #5170 - fix NPE during websocket upgrade
2020-09-02 18:00:19 +10:00
Lachlan Roberts 43f41ae046 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-09-02 15:48:25 +10:00
Lachlan Roberts 576b1e2323 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-4824-WSmaxOutgoingFrames 2020-09-02 10:07:19 +10:00
Lachlan Roberts 5bdcea2a49 change log warning for fillAndParse errors to debug log
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-09-02 09:55:18 +10:00
Lachlan Roberts ae62180416 Issue #5170 - ensure bytes after 101 response isn't lost during upgrade
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-31 18:29:28 +10:00
Lachlan Roberts cd1edb33f4 Merge remote-tracking branch 'origin/jetty-9.4.x-5193-better-websocket-event-logging' into jetty-9.4.x-5193-NullMessage
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-31 10:53:26 +10:00
Joakim Erdfelt 46402bc382
Issue #5193 - Updating logging per review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-28 05:46:07 -05:00
Lachlan Roberts 92e5abb1bd add missing licence header in SingleOnMessageTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-27 18:05:56 +10:00
Lachlan Roberts 478bcdc868 Issue #5193 - fix lost message bug when using single onMessage annotation
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-27 17:18:48 +10:00
Lachlan Roberts eebb47cbc5 add test to reproduce issue #5193
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-27 17:14:01 +10:00
Joakim Erdfelt 1690e9d30d
Issue #5193 - Adding more EventDriver logging
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-26 06:56:17 -05:00
Jan Bartel 77779ed6d8
Issue #4996 - Regularlize logging (#5167)
* Issue #4996 Regularize logging

Signed-off-by: Jan Bartel <janb@webtide.com>

Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-08-24 17:15:13 +02:00
Lachlan Roberts 35f3f1886e Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-08-19 09:39:31 +10:00
Lachlan Roberts 37a8e44347 fix WebSocketStatsTest numMessages back to 1000
Remove server getConnections check after client open event
as the server connection may not be open yet.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-19 09:36:56 +10:00
Lachlan Roberts 7d6f692721 disable autoFragment for WebSocketStatsTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-19 09:32:54 +10:00
Lachlan Roberts 931e10458a Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-08-19 08:34:39 +10:00
Lachlan cfd31b2cf5
Merge pull request #5125 from eclipse/jetty-9.4.x-5122-WebSocketStats
Issue #5122 - Improve connection statistics for WebSocket
2020-08-19 08:04:47 +10:00
Lachlan Roberts 1663a6d7af Issue #5125 - Generalise WebSocketConnectionStatistics into IncludeExcludeConnectionStatistics
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-14 15:19:06 +10:00
Lachlan Roberts de1077c375 Fix WebSocketServerExamplesTest to work with surefire update
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-13 22:04:56 +10:00
Lachlan cbd4c38f3d
Issue #5121 - always use isDebugEnabled() check before debug logging in WebSocket (#5123)
* Issue #5121 - always use isDebugEnabled() check before logging in CompressExtension

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

* Issue #5121 - always use isDebugEnabled() check before debug logging

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

* Issue #5121 - always use isDebugEnabled() check before debug logging in WebSocket

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-11 11:51:39 +02:00
olivier lamy c198d26e6b Updating to version 10.0.0-SNAPSHOT 2020-08-11 16:47:55 +08:00
olivier lamy 429b091578 Updating to version 10.0.0.beta1 2020-08-11 16:47:54 +08:00
Lachlan Roberts 8a3ff775d5 Issue #5122 - make number of active WS Sessions a managed attribute on SessionTracker
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-06 20:45:06 +10:00
Lachlan Roberts be429f0910 Issue #5122 - add specialized Connection.Listener for WebSocket ConnectionStatistics
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-06 20:38:02 +10:00
Lachlan 1e7ce3ac1e
Merge pull request #5101 from eclipse/jetty-10.0.x-5044-WebSocketUpgradeRequestResponse
Issue #5044 - Refactor of Jetty WebSocket Upgrade Request/Response
2020-08-06 09:11:12 +10:00
Lachlan Roberts fd5c07eceb removed dangling javadoc comment
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-06 08:25:40 +10:00
Lachlan 11db6f9d71
Merge pull request #5115 from eclipse/jetty-10.0.x-5096-lazyUpgradeFilter
Issue #5096 - lazily initialize the WebSocketFilter if only using JettyWebSocketServlet
2020-08-05 09:37:42 +10:00
Simone Bordet c49035570e Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-convert_synchronized_to_autolock'. 2020-08-04 16:32:55 +02:00
Lachlan Roberts dbeac5eb49 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-04 20:37:12 +10:00
Lachlan Roberts 9cde41a75c Issue #5096 - add WebSocketFilter lazily if only using JettyWebSocketServlet
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-03 19:01:41 +10:00
Lachlan Roberts 85c4fc5335 Issue #5108 - use set based on ConcurrentHashMap and remove synchronized blocks
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-03 18:26:14 +10:00
Lachlan Roberts d37501dce0 Issue #5108 - use HashSet for SessionTrackers to improve scalability
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-08-03 10:40:12 +10:00
Lachlan Roberts ce8cb063ea Issue #5044 - extend Jetty WS API Request/Response interfaces for jetty-websocket-server
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-30 17:34:17 +10:00
Lachlan Roberts 3074aa7fae Issue #5044 - Jetty Server upgrade request/response now implement the API interfaces
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-30 13:28:39 +10:00
Lachlan Roberts 9027e17095 Issue #5044 - rename the ClientUpgradeRequest to CoreClientUpgradeRequest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-30 12:51:42 +10:00
Simone Bordet 089e51f0bc Fixes #5083 - Convert synchronized usages to AutoLock.
Updates after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-29 15:34:01 +02:00
Lachlan Roberts 414a0f35f9 Issue #5044 - move all setter methods on the UpgradeRequest interface to ClientUpgradeRequest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-29 22:44:42 +10:00
Lachlan Roberts 5ff0ce4142 Issue #5044 - implement is secure on DelegatedJettyClientUpgradeRequest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-29 22:22:14 +10:00
Lachlan Roberts 1be0220988 Issue #4919 - make the SessionTracker the one to implement Graceful shutdown
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-28 17:38:41 +10:00
Lachlan Roberts 9e383f0891 Issue #4919 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-28 16:48:49 +10:00
Simone Bordet 8d69fc41a7 Fixes #5083 - Convert synchronized usages to AutoLock.
* Replaced relevant usages of synchronized with AutoLock.
* Made AutoLock serializable since classes that use it may be stored in the HttpSession.
* Added convenience methods to AutoLock to execute lambdas with the lock held.
* Introduced AutoLock.WithCondition to use a Lock and a Condition together.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-27 23:14:05 +02:00
Lachlan Roberts e13d26ab45 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4919-WebSocketContainerStop
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-24 13:39:07 +10:00
Joakim Erdfelt fe9deae849 Updating to version 9.4.32-SNAPSHOT 2020-07-23 13:53:47 -05:00
Joakim Erdfelt 450ba27947 Updating to version 9.4.31.v20200723 2020-07-23 12:46:54 -05:00
Lachlan Roberts d5cf429537 fix websocket tests from merge
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-23 12:17:20 +10:00
Lachlan Roberts e77c253267 Issue #5018 - fix merge to jetty-10, WSClient.connect Future should fail upgrade
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-23 11:17:05 +10:00
Lachlan Roberts 5726fa9364 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-23 10:19:53 +10:00
Lachlan d8b775c0fb
Merge pull request #5030 from eclipse/jetty-9.4.x-5018-WebSocketClientConnectFuture
Issue #5018 - cancellation of WebSocketClient.connect Future should fail upgrade
2020-07-23 08:36:12 +10:00
Joakim Erdfelt 25a2326221
Merge pull request #5054 from eclipse/jetty-10.0.x-5043-AnonymousWebSocketListener
Issue #5043 - allow anonymous WebSocketListener / Endpoint classes to be used
2020-07-22 14:49:48 -05:00
Lachlan Roberts 695d239ac5 Issue #4919 - all websocket containers to implement Graceful shutdown interface
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-23 00:09:43 +10:00
gregw 965e73e9e9 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-07-20 12:01:53 +02:00
Lachlan Roberts 9f7f2e3e56 WebSocket server now only closes gracefully if the Server stopTimeout is set
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-20 15:49:15 +10:00
Lachlan Roberts 0818f54be8 cleanup the ws javax EchoSocket test class
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-20 15:32:46 +10:00
gregw 6125a07a63 Issue #5053
removed weak random from Masker.
2020-07-17 17:59:57 +02:00
gregw f6d39849e8 Improves #5053 by giving option of secure or pseudo random
Allow random to be passed in and can default to a weak pseudo random.
2020-07-17 12:19:22 +02:00
Lachlan Roberts c94e82470d Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4919-WebSocketContainerStop 2020-07-17 15:32:10 +10:00
Greg Wilkins beca81c990
Fixes #5053 CWE-331 (#5056)
Replace uses of Random with SecureRandom.
We do not believe any of these uses of Random represent any security vulnerability, but we are making this
change for an abundance of caution and to avoid warnings from 3rd party scanning tools.
2020-07-16 15:31:19 +02:00
Lachlan Roberts 0a30525653 Issue #5043 - allow WebSocketListener / Endpoint anonymous classes to be used
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-16 12:44:54 +10:00
Lachlan Roberts 00777fe05a Issue #5043 - add testing for WebSocketListener / Endpoint as anonymous classes
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-16 12:21:03 +10:00
Lachlan fc473f3368
Merge pull request #5031 from eclipse/jetty-10.0.x-5018-WebSocketClientRequestTimeout
Issue #5018 - add WebSocketClient UpgradeRequest timeout to jetty 10
2020-07-16 09:19:47 +10:00
Lachlan Roberts c09e4d6f86 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-16 08:46:29 +10:00
Lachlan Roberts 860cba7877 Use Consumer<NativeWebSocketConfiguration> in ConnectFutureTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-16 07:45:16 +10:00
Lachlan Roberts f9750c9632 Test aborting with exception before WS upgrade completes.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-15 19:21:01 +10:00
Lachlan Roberts de1b6745c5 the DO NOT EDIT comment in .mod files should start with '#'
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-15 16:47:22 +10:00
Lachlan Roberts 25a7da2635 add test for abort with CompletableFuture.completeExceptionally()
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-14 21:47:31 +10:00
Lachlan Roberts 664cf5fb52 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-5018-WebSocketClientConnectFuture 2020-07-14 21:21:08 +10:00
Lachlan Roberts 9c910e9413 changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-14 18:09:40 +10:00
Lachlan Roberts 145dcf502c cleanups after merge
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-14 16:52:50 +10:00
Lachlan Roberts df34a6269b Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-5018-WebSocketClientRequestTimeout
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-14 16:39:23 +10:00
Simone Bordet 7b05567b52 Issue #4808 - Review HttpClient Request header APIs.
For some reason, Request.getHeaders() returned HttpFields,
but HttpRequest.getHeaders() returned HttpFields.Mutable,
and it was obviously wrong.

Fixed WebSocket code that was relying on this API error.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-13 16:44:07 +02:00
Lachlan Roberts fc0f4b28f9 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-13 15:06:09 +10:00
Lachlan Roberts ca404f157f clean up and rename fields in EventSocket WebSocket test utility class
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-13 14:53:55 +10:00
olivier lamy eefe3d202b revert fail release
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-07-10 15:04:22 +10:00
olivier lamy 9619a5a743 Updating to version 10.0.0.beta1 2020-07-10 14:23:28 +10:00
olivier lamy aaeffb719e Updating to version 10.0.0-SNAPSHOT 2020-07-09 12:25:34 +10:00
olivier lamy 23c99ffdbe Updating to version 10.0.0.beta1 2020-07-09 11:20:55 +10:00
Lachlan Roberts 25d7b99ba1 Issue #5018 - add WebSocketClient UpgradeRequest timeout to jetty 10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-09 08:11:05 +10:00
Lachlan Roberts a179535db3 Issue #5018 - add WebSocketClient UpgradeRequest timeout to jetty 10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-08 18:04:36 +10:00
Lachlan Roberts c716edd7a2 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-07-08 17:35:13 +10:00
Lachlan Roberts d7c47f42d6 Issue #5018 - add testing for WebSocketClient Future cancellations
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-08 16:48:43 +10:00
Lachlan 794d67c4d6
Merge pull request #5024 from eclipse/jetty-9.4.x-5018-ClientUpgradeRequestTimeout
Issue #5018 - add request timeout onto ClientUpgradeRequest
2020-07-08 16:36:07 +10:00
Lachlan Roberts 13297d5bd7 Issue #5018 - cancellation of WebSocketClient.connect Future should fail upgrade
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-08 16:20:27 +10:00
Lachlan Roberts 702a48c2d1 Issue #5018 - rename ClientUpgradeRequest timeout to setTimeout
and increase timeouts used for testing

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-07 22:05:01 +10:00
Lachlan Roberts 74916c2fc9 Issue #5018 - add test case for ClientUpgradeRequest timeout
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-07 16:38:51 +10:00
Simone Bordet ba6a6ea67d Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2020-07-06 23:10:19 +02:00
Simone Bordet f2c6b67827
Fixes #4971 - Simplify Connection.upgradeFrom()/upgradeTo(). (#5008)
Fixes #4971 - Simplify Connection.upgradeFrom()/upgradeTo().

Now the upgrade-from connection produces a "floating" buffer 
(not belonging to a pool), so that it can release the original buffer.

The upgrade-to connection is free to copy or store this "floating" buffer.

Strengthened ByteBufferPool behavior when releasing non-pooled
ByteBuffers: the buffer is now discarded.

Updated javadocs and all implementations.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-07-06 22:45:03 +02:00
Lachlan 33852f5137
Merge pull request #4912 from eclipse/jetty-10.0.x-4907-suspendAfterCloseRace
Issue #4907 - close websocket suspendState if close frame is received
2020-07-06 12:54:39 +10:00
Lachlan Roberts fbe3803cd1 fix checkstyle issue
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-06 12:19:38 +10:00
Lachlan Roberts 6a8a6efd1c Issue #5018 - add request timeout onto ClientUpgradeRequest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-07-04 11:37:45 +10:00
Lachlan Roberts 32b29a3ced fix DecoderListsTest and cleanup code
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-30 11:18:36 +10:00
Lachlan Roberts 4fdf52bd55 Issue #3428 - changes to AbstractDecodedMessageSink signature from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-29 20:34:18 +10:00
Lachlan Roberts acf47624a3 Issue #3428 - make AvailableDecoders only allow registration through EndpointConfig
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-29 19:01:00 +10:00
Lachlan Roberts eb01603abb Issue #3428 - improve testing and ensure decoders are registered in correct order
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-29 18:41:54 +10:00
Lachlan Roberts 5da4d7e460 Issue #3428 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-29 15:37:47 +10:00
Lachlan Roberts 35e82c85ff Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3428-decoderLists 2020-06-29 11:33:03 +10:00
Lachlan Roberts 22d5321628 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-06-23 10:04:58 +10:00
Lachlan Roberts 0db20886d0 Issue #1100 - ensure init and destroy are always called on JSR356 Encoders
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-22 11:51:06 +10:00
Lachlan Roberts a03a352d79 Issue #1100 - replicate issue where Encoder init and destroy never called
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-22 11:21:46 +10:00
Lachlan Roberts ed9c60fc90 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4919-WebSocketContainerStop
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-16 18:57:40 +10:00
Lachlan Roberts 50b62c3771 Issue #4907 - merge synchronized blocks for suspendState
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-16 18:09:29 +10:00
olivier lamy 25c54668f4 fix license header
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2020-06-13 20:43:21 +10:00
Joakim Erdfelt 6795f3915f
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2020-06-12 12:04:50 -05:00
Joakim Erdfelt 6df6fa33b8 Updating to version 9.4.31-SNAPSHOT 2020-06-11 08:24:34 -05:00
Joakim Erdfelt 271836e4c1 Updating to version 9.4.30.v20200611 2020-06-11 07:21:18 -05:00
Lachlan Roberts 66ef0ebc03 Issue #4903 - do ServerEndpointConfig validation check before started
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-11 19:20:49 +10:00
Lachlan Roberts f41f601e19 Issue #4903 - fix validation on custom Configurator annotated endpoint
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-11 09:58:49 +10:00
Joakim Erdfelt b22e306796
Issue #4903 - Improved behavior for Custom ServerEndpointConfig.Configurator
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-06-10 17:03:26 -05:00
Joakim Erdfelt 9bfc168329
Issue #4903 - Improved behavior for Custom ServerEndpointConfig.Configurator
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-06-10 11:01:30 -05:00
Lachlan Roberts 5fc90cc6db fix websocket JPMS warnings and build issues
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-10 00:36:49 +10:00
Lachlan Roberts 9423a8753e fix some websocket jpms errors
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-02 16:10:48 +10:00
Lachlan Roberts bebe6fd138 Issue #4919 - always stop SessionTracker before closing connections
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-02 15:37:55 +10:00
Lachlan Roberts 753c8be6eb Issue #4919 - test graceful stop for jetty and javax ws containers
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-06-02 15:32:36 +10:00
Lachlan Roberts f2dec1946d Issue #4903 - give better errors for non public javax.websocket endpoints jetty-10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-28 12:25:47 +10:00
Lachlan Roberts 2c1c25d5a7 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3428-decoderLists 2020-05-28 10:29:53 +10:00
Lachlan Roberts 1690f69f36 Issue #3428 - improve testing & warn if no decoder accepts message
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-28 10:21:28 +10:00
Lachlan Roberts 277561e48b Issue #4907 - moved to close state if any close frame is received
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-27 10:10:12 +10:00
Lachlan 0b8306976a
Merge pull request #4906 from eclipse/jetty-9.4.x-4903-WebSocketPublicModifier
Issue #4903 - give better errors for non public javax.websocket endpoints
2020-05-27 09:43:24 +10:00
Lachlan Roberts a11c7f554c Issue #4903 - cleanup catch statement from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-27 09:42:44 +10:00
Lachlan Roberts 5c63b0ef78 Issue #4903 - catch Throwable instead of RuntimeException
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-26 17:37:04 +10:00
Lachlan Roberts d8fb116e12 Issue #4907 - close suspendState if response close frame is received
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-26 17:13:16 +10:00
Lachlan Roberts c41560c7cd Issue #4903 - add cause to Exception when creating endpoint instance
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-26 15:35:39 +10:00
Lachlan Roberts 470d948504 Issue #4903 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-26 09:35:17 +10:00
Lachlan Roberts add00c9dd8 Issue #4903 - check endpoint class is default constructable
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-25 13:57:41 +10:00
Lachlan Roberts 28a588b8bd Issue #4903 - Better errors for non public endpoints
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-25 12:36:09 +10:00
Joakim Erdfelt 5d6f3e2ddc Updating to version 9.4.30-SNAPSHOT 2020-05-21 13:42:25 -05:00
Joakim Erdfelt 77c232aed8 Updating to version 9.4.29.v20200521 2020-05-21 12:04:14 -05:00
Lachlan Roberts 9475662451 Issue #3428 - add validation checks when adding decoders
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-21 18:44:46 +10:00
Lachlan Roberts 43e3cdc4e3 Issue #3428 - cleanups and simplify MessageHandler registration
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-21 14:58:46 +10:00
Lachlan Roberts 8e554c7d13 Issue #3428 - fix decoder list matching to get test working
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-21 08:52:01 +10:00
Lachlan Roberts 4b19c19815 Issue #3428 - Initial refactor to support javax websocket decoderLists
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-19 22:45:37 +10:00
Lachlan Roberts dacd5e7e36 fix websocket-core-test pom.xml file
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-14 16:02:21 +10:00
Lachlan Roberts f1815b6938 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-WebSocketCoreRefactor 2020-05-14 14:27:30 +10:00
Ludovic Orban 7d80c8fc39 Add constructor to better align with 10.0.x
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2020-05-13 17:38:43 +02:00
Lachlan Roberts 8b489806b6 Fix osgi issues in websocket-core-common
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-12 17:00:30 +10:00
Lachlan Roberts 11d14a65b4 Issue #2173 & #2174 - Split websocket-core into client/server/common modules
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-12 15:10:44 +10:00
Simone Bordet 0018c298dc
Merge pull request #4845 from eclipse/jetty-10.0.x-4808-review_httpclient_header_api
Fixes #4808 - Review HttpClient Request header APIs.
2020-05-08 17:52:51 +02:00
Lachlan 2e1c01ac8c
Merge pull request #4723 from eclipse/jetty-10.0.x-WebSocketServlet
Issue #4722 - remove websocket-servlet
2020-05-07 22:45:04 +10:00
Simone Bordet cf9df70935 Fixes #4808 - Review HttpClient Request header APIs.
Introduced:
* Request Request.headers(Consumer<HttpFields.Mutable>).
This allows applications to modify the headers, and chain calls.
It also delegates the precise semantic of put/add/remove/clear to HttpFields, so there is no API duplication.
* HttpRequest.header(HttpField) to efficiently add fields while normalizing the request (only used in implementation).

* HttpResponse.header(HttpField) to efficiently add fields while parsing the response (only used in implementation).
This pairs with HttpResponse.trailer(HttpField).
* HttpResponse.headers(Consumer<HttpFields.Mutable>) to modify the fields after they have been populated (only used in tests).

Removed:
* Request.[set,add,put,remove], replaced by headers(Consumer<HttpFields.Mutable>).

Deprecated:
* Request.header(String, String)
* Request.header(HttpHeader, String)
Both replaced by headers(Consumer<HttpFields.Mutable>) with clearer semantic for add/put/remove.

All the rest is code cleanup to remove the usage of the deprecated header() methods.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-05-04 23:16:59 +02:00
Lachlan Roberts e5cca92199 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-WebSocketServlet
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-01 15:46:03 +10:00
Lachlan Roberts 9bc9082ff3 Fix broken WebSocket UTF-8 continuation test
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-01 13:01:40 +10:00
Lachlan Roberts 3a3c5e5df3 Fix broken OSGI tests due to websocket-util-server
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-05-01 01:35:19 +10:00
Lachlan Roberts 71df3b57ee Issue #4824 - add configuration on RemoteEndpoint for maxOutgoingFrames
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-30 09:39:58 +10:00
Lachlan Roberts b0e57ffd6d Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-LinkageErrorInvestigation 2020-04-29 22:52:33 +10:00
Lachlan Roberts bf5d4ea554 Issue #4800 - Revert MethodHandle changes & update DistributionTests
- It seems it is correct to use the `MethodHandles.publicLookup().in()`
but this does not work if same webapp is deployed twice, so the
MethodHandle changes have been reverted and the test has been disabled
until a resolution to https://bugs.openjdk.java.net/browse/JDK-8244090.

- The DistributionTest has been changed to properly reproduce the issue.
There must be a class in the signature of the websocket endpoint which
is available to both webapps and the client must send and receive an echo
message to ensure that the onOpen MethodHandle is actually invoked.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-29 22:52:26 +10:00
Greg Wilkins 8c7e34f37d
Jetty 10.0.x immutable meta data (#4777)
Made HttpURI, HttpFields and MetaData immutable.  The first two follow the same builder pattern and MetaData is constructor injection only.

* Immutable version of HttpFields

Preserve API and usage of HttpFields class while providing a read only interface and immutable implementation.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable version of HttpFields

Use an ArrayList in HttpFields. While slightly slower than the array, it will mostly be used as a builder pattern for an Immutable

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable version of HttpFields

Fixed exception type.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable version of HttpFields

asImmutable method

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

Made HttpURIU immutable with a builder pattern.
MetaData immutable and working within http module.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

Fixes from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

Passing tests upto and including jetty-server

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

Cleanup of HttpURI.Builder API as suggested in PR.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

Added builder for MetaData.Request

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

more api fixes

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

WIP making HttpFiels itself immutable.  Currently working up to jetty-servlet.

Need to consider if content-length really is meta data and how much and when can we trust it.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

WIP

Need to consider if content-length really is meta data and how much and when can we trust it. Also need to consider difference between h2 and h1 authority in metadata.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

jetty-client and jetty-servlet passing tests.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

Better align the style of immutability between `HttpFields` and `HttpURI`.
They both now have static build() and from() methods, plus Builder and Immutable implementations.
Potentially `Builder` could be renamed as `Mutable`

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

http2-server tests passed

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

http2-client tests passed

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

cleann build?

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

fix

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

more test fixes

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

Cleanups, mostly using EMPTY when appropriate.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

Cleanups, use immutable

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

No trailers for connect

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

Fix CONNECT path handling

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

fixed rewrite query handling

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

rename Builders to Muttables

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

misc cleanups

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

Revert to using arrays due to garbage generated by streams and iterators (12% of a simple benchmark!).
Even if this garbage is an artifact of the JIT being disabled by observation, it can hide other allocations, so best to just use simple arrays!

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

More optimizations and better test coverage.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable Metadata

various cleanups

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

More optimizations

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

review changes

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

changes after review:
 + less usage of Mutable
 + more usage of EMPTY
 + restored fragment handling

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

changes after review:
 + less usage of Mutable
 + less usage of asImmutable

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData WIP

changes after review:
 + less usage of Mutable

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

changes after review:
 + better handling of URI in ContextHandler

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

changes after review:
 + downcast in test to access mutable response headers.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Immutable MetaData

changes after review:
 + use put instead of add for one time headers

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* private

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-04-28 13:36:44 +02:00
Lachlan Roberts 64beae3382 Issue #4800 - test both cases individually
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-24 20:16:19 +10:00
Lachlan Roberts fb85c71f8d Issue #4800 - invalid PathParam types should be reported at Deployment
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-24 17:11:23 +10:00
Lachlan Roberts 870a765464 Issue #4800 - prevent LinkageErrors for WS lookup on JDK 14
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-24 13:31:29 +10:00
Lachlan Roberts f5b0dc56d2 Issue #4800 - Reproduce LinkageError in WebSocket unit test
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-24 13:14:42 +10:00
Lachlan Roberts 7c2d804ce9 Change the WSServer to allow deployment of multiple webapps
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-24 10:18:24 +10:00
Lachlan Roberts 6ee0f2ebbc Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-WebSocketServlet 2020-04-23 13:53:10 +10:00
Lachlan Roberts 33a5db0618 Issue #4722 - fix typo for websocket-util-server jar
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-22 21:27:25 +10:00
Lachlan Roberts c6e58e693b Issue #4747 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-22 18:10:49 +10:00
Lachlan Roberts b58697817f Issue #4722 - create new module websocket-util-server
- This module contains the WebSocketUpgradeFilter.
- Also has an internal package with the components used
  to implement websocket upgrades common to both the
  jetty and javax websocket implementations.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-22 17:26:46 +10:00
Joakim Erdfelt d1163261a0
Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-4747-WebSocketTCK 2020-04-21 09:07:31 -05:00
Lachlan Roberts e189691917 Issue #4722 - fix build, websocket util exporting jetty servlet with jpms
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-20 09:22:01 +10:00
Lachlan f23236b09d
Merge pull request #4775 from eclipse/jetty-10.0.x-4771-WebSocketMessageHandlerTests
Issue #4771 - cleanup and add tests for the unused ws message handlers
2020-04-20 08:43:39 +10:00
Lachlan Roberts 213e157f42 Issue #4722 - changes from review
- Fix packages exposed in the websocket configuration
- Make servlet dependency for websocket-util optional

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-17 07:50:14 +10:00
Greg Wilkins 2addb6a655
Jetty 10.0.x use HandlerList instead of HandlerCollection (#4757)
* Use HandlerList instead of HandlerCollection

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Use HandlerList instead of HandlerCollection

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2020-04-15 18:42:28 +02:00
Lachlan Roberts 4047e31ce7 Issue #4771 - cleanup and add tests for the different ws message handlers
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-15 10:50:27 +10:00
Joakim Erdfelt 5699b9ff3d Updating to version 9.4.29-SNAPSHOT 2020-04-08 13:15:04 -05:00
Joakim Erdfelt ab228fde9e Updating to version 9.4.28.v20200408 2020-04-08 12:33:56 -05:00
Lachlan Roberts 45f822ed32 Issue #4747 - server is allowed to not select a websocket subprotocol
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-08 17:08:52 +10:00
Lachlan Roberts 4e69b48344 Issue #4747 - filter out synthetic annotated methods
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-08 15:31:42 +10:00
Lachlan Roberts 3d40e0e25d Issue #4747 - correctly copy headers in websocket JsrUpgradeListener
Headers with the same name may not have been copied properly for
header values inspected and modified with a Configurator.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-07 15:06:25 +10:00
Lachlan Roberts 625dfd1a4d Issue #4747 - Fix WS path params to work within a context path
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-07 12:18:29 +10:00
Lachlan Roberts 54ee3f3939 Issue #4747 - Throwing in onClose now calls onError
- This applies to the javax onClose method not the core onClosed method.
- Also fixes a bug where onClosed may never be called if onFrame throws.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-06 20:28:57 +10:00
Lachlan Roberts 2028b99e83 Issue #4747 - SessionID should return same String instance
Using the object hash code is not random enough to use as a unique ID.
Now using UUID.randomUUID() instead which sufficiently random.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-06 11:54:16 +10:00
Lachlan Roberts 664cb81e6d Issue #4747 - Default close status code should be normal status
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-04-06 07:48:14 +10:00
Simone Bordet 51c42f2849 Improvements to the Jetty client documentation, protocols section.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-04-03 15:48:54 +02:00
Lachlan Roberts 9298883627 Issue #4722 - fix typo in JavaxWebSocketConfiguration
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-03-30 10:19:37 +11:00
Lachlan Roberts 89c4504d07 Issue #4722 - remove websocket-servlet
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-03-27 16:31:37 +11:00
Lachlan d595c59622
Merge pull request #4702 from eclipse/jetty-10.0.x-4603-WS_HTTP2_NPE
Issue #4603 - avoid NPE during websocket HTTP/2 upgrade
2020-03-27 09:44:24 +11:00
Lachlan Roberts 85ea14e33d Issue #4603 - clarifications in comments and improve test
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-03-25 22:43:43 +11:00
Lachlan ea80253cca
Merge pull request #4694 from eclipse/jetty-10.0.x-4691-consistent_methodhandles_lookup
Issue #4691 - use static methods with javadoc to get MethodHandle lookups
2020-03-25 10:31:37 +11:00
Lachlan af899b0e68
Merge pull request #4602 from eclipse/jetty-10.0.x-4340-ServiceLoader
Issue #4340 - Continue after ServiceLoader ServiceConfigurationError
2020-03-25 10:30:38 +11:00
Lachlan Roberts c0b6d9f677 Issue #4691 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-03-24 14:30:02 +11:00
Lachlan Roberts 04cc21fe40 Issue #4691 - use static methods with javadoc to get MethodHandle lookup
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-03-23 16:43:09 +11:00
Lachlan Roberts d4c2893843 Issue #4691 - Remove unnecessary throws from getMethodHandleLookup.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-03-23 11:44:06 +11:00