Commit Graph

41 Commits

Author SHA1 Message Date
Greg Wilkins 2b817f06c6
Combined ByteBufferPool (#8171)
All `ByteBufferPool` can now be accessed as `RetainableByteBufferPools`.

Users now need to configure only a single buffer pool and there is just the additional retained parameter that needs consideration.
Default buffer pool has been changed to logarithmic, but we may wish to review that before next release.
Default factor size has been increased to 4096.
2022-07-04 10:38:30 +10:00
Joakim Erdfelt 8de55150fe
Cherry-pick of Improvements to PathSpec for Jetty 10.0.x (#8136)
* Cherry-pick of Improvements to PathSpec.
* From commit: 5b4d1dd1c6
* Fixing ConstraintSecurityHandler usage of PathMappings
* Fixing bad INCLUDE logic from cherry-pick in ServletHandler.doScope()
* Cleanup of non ServletPathSpec behaviors in ServletPathMapping class
* Skip optional group name/info lookup if regex fails.
* Prevent NPE on static servletPathMappings
* Update WebSocketMappings to use new PathMappings.getMatched(String)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-06-08 12:36:30 -05:00
Lachlan Roberts a93896b22f Issue #7977 - prevent possible NPE from UpgradeHttpServletRequest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-05-12 16:10:15 +10:00
Joakim Erdfelt cb127793e5
Happy New Year 2022 (#7459)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-01-27 10:42:30 -06:00
Lachlan Roberts bd7f1b114e Issue #2504 - expose more WebSocket details in jetty server dump
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-10-29 14:26:38 +11:00
Simone Bordet 0412bdc3d9 Fixes #6938 - module-info.java file do not use the canonical order for the elements
Changed order of entries in module-info.java to be canonical

(cherry picked from commit 02691171d5)
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-10-01 09:25:55 +02:00
Simone Bordet 4793092f9d
Fixes #5229 - WebSocket documentation. (#6623)
Added WebSocket server-side documentation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2021-09-15 19:42:27 +02:00
Lachlan Roberts 2aa966a854 Issue #6696 - change method name to WebSocketNegotiation.upgrade()
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-09-07 10:19:51 +10:00
Lachlan Roberts d41a297352 Issue #6696 - don't keep Request object in the WebSocketNegotiation after upgrade
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-09-06 17:14:53 +10:00
Joakim Erdfelt a82b45c5fb
Issue #6654 - Fix NPEs from bad Servlet API use
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-08-24 09:05:47 -05:00
Joakim Erdfelt 32e6698f0b
Issue #6654 - Fix NPEs from bad Servlet API use
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-08-23 16:01:32 -05:00
Joakim Erdfelt 401f1959d2
Issue #6654 - Fix NPEs from bad Servlet API use
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-08-23 11:38:15 -05:00
Lachlan Roberts bbabaee8cc Issue #6566 - add executor to WebSocketComponents & use for Dispatched Messages
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-08-04 11:24:10 +10:00
Ludovic Orban c9a5d8df58 #6322 Use RetainableByteBuffer and write a new pool for it
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
2021-07-24 11:14:21 +02:00
Lachlan cd73338b84
Remove WebSocketComponents & HouseKeeper on Server restart. (#6218)
* Remove WebSocketComponents & HouseKeeper on Server restart.
* Add testing for cleanup of websocket when stopping server.
* Add removeFilterHolder and removeFilterMapping methods on ServletHandler.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-05-20 14:48:23 +02:00
Lachlan Roberts d7c42bb49a Issue #6287 - fix classloading for WebSocketClient in webapp
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-05-18 17:51:26 +10:00
Lachlan Roberts ac5eb54e1e Issue #6106 - fix WebSocket/CDI integration
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-31 18:49:31 +11:00
Lachlan Roberts 16b014c2fb Unmanage beans on WSSComponents if they are also beans on server.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-30 17:50:55 +11:00
Lachlan Roberts b51e40892d Fix lifecycle issues with WebSocketComponents and improve testing.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-26 00:07:57 +11:00
Lachlan Roberts b0a953a9fc Do not store WebSocketComponents in Server scope.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-03-24 17:15:09 +11:00
Lachlan Roberts 1dc98b611e Issue #5868 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-02-09 10:56:31 +11:00
Lachlan Roberts 2ac50130d6 Issue #5868 - allow request attributes to be set during websocket handshake
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-02-02 17:48:11 +11:00
Joakim Erdfelt e81c847998
Happy New Year 2021 (Jetty 10 edition)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2021-01-21 15:05:57 -06:00
Lachlan f2cde85390
Merge pull request #5874 from eclipse/jetty-10.0.x-5866-WebSocketProgrammaticUpgrade
Issue #5866 - allow WebSocket programmatic upgrades
2021-01-20 16:07:07 +11:00
Lachlan 16acdcf7e9
Merge pull request #5852 from eclipse/jetty-10.0.x-5850-UpgradeRequestNPE
Fix NPE from WebSocketSession.getUserPrincipal() in Jetty10
2021-01-13 12:01:24 +11:00
Lachlan Roberts 0d48b8b991 Issue #5866 - add Programmatic WebSocket Upgrade to Jetty API
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-01-13 10:45:45 +11:00
Lachlan Roberts 78707fffde CreatorNegotiator should remain private, use from on WebSocketNegotiator
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-01-13 09:55:19 +11:00
Lachlan Roberts 0a944ac0a9 Issue #5866 - allow programmatic upgrades with websocket-core
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-01-08 22:47:55 +11:00
Lachlan Roberts 6e6f83c7f2 Fix bad refactor of getMappings method.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-01-08 14:55:44 +11:00
Lachlan Roberts af3cce85a7 The WebSocket Upgrade Header value should be all lower case.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-01-04 15:57:23 +11:00
Simone Bordet 480767a03b Improvements to the Jetty documentation.
Updated the WebSocket documentation in the operations guide.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2020-12-30 20:16:20 +01:00
Lachlan Roberts c16674bae7 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-5706-ServerUpgradeResponse 2020-12-15 16:51:47 +11:00
Joakim Erdfelt f0badc5c5e
Issue #5784 - Fixing source header text: EPL-2.0 OR Apache-2.0
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2020-12-10 16:04:50 -06:00
Lachlan Roberts c9409befd8 Issue #5706 - fix potential NPE from websocket-core ServerUpgradeResponse
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2020-12-08 16:54:13 +11:00
Lachlan 121d898517
Move websocket-util classes into websocket-core (#5705)
- Merge websocket-util classes into websocket-core
- rename websocket-util-server to websocket-servlet
- remove websocket-util

* merge websocket-util into websocket-core-common
* move websocket-util-server implementation to websocket-core-server
* rename websocket-util-server to websocket-servlet
* Negotiator should not need the WebSocketComponents, give this to handshaker instead
* fix tests and WebSocketConfigurations
* move exception classes in websocket-core-common
* move MessageSinks and util to internal package
* create internal package for websocket-core-client
* fix JPMS warnings for websocket common modules
* Fixed exports declarations to make MethodHandles.publicLookup() working properly.
* fix broken tests with wrong WebSocketUpgradeFilter package name
* remove -T3 option to not have parallel build
* no need of jacoco here
* do no reuse forks
* remove logback dependency and disable debug log level
* make this test dynamic instead of hardcoded version...
* use -fae
* change websocket-servlet bundle symbolic name
* cleanup changes
* restore bugs....
* Updates after review.

Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: olivier lamy <oliver.lamy@gmail.com>
2020-12-02 11:10:15 +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 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
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 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 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