Commit Graph

3876 Commits

Author SHA1 Message Date
Lachlan Roberts 413a644a44 remove longLengthAccumulator field in websocket Parser
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-09 19:02:39 +10:00
Lachlan Roberts 736a576f75 Review of websocket parser, improve testing & comments.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2023-05-05 18:51:37 +10:00
Joakim Erdfelt ca3c1756ad
Updating to version 10.0.16-SNAPSHOT 2023-04-11 13:23:25 -05:00
Joakim Erdfelt 68017dbd00
Updating to version 10.0.15 2023-04-11 12:24:32 -05:00
Simone Bordet fe11b94da8
Fixed javadocs.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-28 20:22:39 +02:00
Lachlan dde6e04731
Issue #7121 - Add documentation for websocket configuration. (#8931)
* Improvements to WebSocket documentation.
* Documented configuration parameters.
* Documented and added a test case for PathSpec usage.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Co-authored-by: Simone Bordet <simone.bordet@gmail.com>
2023-03-28 19:42:44 +02:00
Olivier Lamy e62cc0344a Updating to version 10.0.15-SNAPSHOT 2023-03-01 18:55:10 +10:00
gregw 7a7d69a69f Happy no year
Remove modification date from copyright notice and instead just have the
project inception year.

Signed-off-by: gregw <gregw@webtide.com>
2023-02-15 15:22:32 +11:00
Joakim Erdfelt 54c4c03244
Updating to version 10.0.14-SNAPSHOT 2022-12-07 14:33:17 -06:00
Joakim Erdfelt 1c2636ea05
Updating to version 10.0.13 2022-12-07 14:12:50 -06:00
Simone Bordet a546027db8
Fixes #9006 - WebSocket MessageInputStream.read() returns signed byte
Now properly coverting to `int`.
Added test.

Also fixed MultiPartInputStreamParser.Base64InputStream for the same issue.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-12-06 15:29:05 +01:00
Baoyi Chen 8404eb0db1
Add log.isDebugEnabled() to reduce string allocation (#8743)
Signed-off-by: Baoyi Chen <chen.bao.yi@qq.com>
2022-10-20 17:28:01 +10:00
Joakim Erdfelt d3050dee7b
Fix bad js replace in demos / test
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-10-05 09:13:57 -05:00
dependabot[bot] c6f118ecc8
Bump jetty-test-helper from 5.9 to 6.0 (#8636)
* Bump jetty-test-helper from 5.9 to 6.0

Bumps [jetty-test-helper](https://github.com/eclipse/jetty.toolchain) from 5.9 to 6.0.
- [Release notes](https://github.com/eclipse/jetty.toolchain/releases)
- [Commits](https://github.com/eclipse/jetty.toolchain/compare/jetty-test-helper-5.9...jetty-test-helper-6.0)

---
updated-dependencies:
- dependency-name: org.eclipse.jetty.toolchain:jetty-test-helper
  dependency-type: direct:production
  update-type: version-update:semver-major
...

* Fixing broken testcase

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-10-01 15:07:42 -05:00
Lachlan Roberts b2b7517297 Issue #7286 - fix potential issue with websocket write timeout
Let websocket-core handle any idleTimeout & writeTimeouts instead of bad attempt to do it in Jetty/Javax API layers.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-09-19 19:04:08 +10:00
Lachlan 6b2db685cd
Merge pull request #8473 from eclipse/jetty-10.0.x-WebSocketUpgradeHandler-Configuration
add getter for the WebSocketUpgradeHandler configuration
2022-09-19 10:51:33 +10:00
Olivier Lamy dbd07146ec
merge back release branch to bump version to 10.0.13-SNAPSHOT (#8593)
* Updating to version 10.0.12

* Updating to version 10.0.13-SNAPSHOT

* VERSION.TXT =+ content of jetty-9.4.49.v20220914 release

* remove strange line and reorder
2022-09-16 19:50:12 +10:00
Simone Bordet 77ad0189ba
Fixes #8532 - Review System.nanoTime() usages. (#8535)
* Fixes #8532 - Review System.nanoTime() usages.

Introduced o.e.j.util.NanoTime class to deal with nanoTimes.

Now NanoTime.now() should be used instead of System.nanoTime(),
and various <unit>[elapsed|since|until]() methods to calculate nanoTimes.

Furthermore, comparing 2 nanoTimes should be done via isBefore(),
rather than using the < operator, which is wrong as specified in
the System.nanoTime() javadocs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2022-09-06 09:30:02 +02:00
Lachlan Roberts 458e42e7d6 add getter for the WebSocketUpgradeHandler configuration
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-17 21:55:13 +10:00
Lachlan Roberts 030978d192 remove check for isOutputOpen and ignore failure in callback.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-08-04 07:44:37 +10:00
Lachlan Roberts 8a8bc4e45b Issue #8353 - do not attempt to send pong frame after output closed
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-07-29 16:45:46 +10:00
Olivier Lamy 9149945945
simplify pom by using simple property rather than xml fragment (#7580)
* simplify pom by using simple property rather than xml fragment

Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-07-14 09:42:28 +10:00
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
Lachlan 8e0ccad495
Merge pull request #8176 from eclipse/jetty-10.0.x-8170-WebSocketHttp2Close
Issue #8170 - fix WebSocket close over HTTP/2
2022-06-29 17:12:12 +10:00
Lachlan 13c61684fe
Merge pull request #8164 from eclipse/jetty-10.0.x-8151-websocketClose
Issue #8151 - make websocket close non-blocking
2022-06-29 16:30:27 +10:00
Joakim Erdfelt 64d12e2a5a
Merge Release 10.0.11 back into `jetty-10.0.x` branch (#8194)
* Updating to version 10.0.11

* Updating to version 10.0.12-SNAPSHOT
2022-06-22 16:24:48 -05:00
Joakim Erdfelt c2bc103cb9
Merge Release 10.0.10 back into `jetty-10.0.x` (#8180)
* Updating to version 10.0.11-SNAPSHOT
2022-06-21 14:41:41 +02:00
Lachlan Roberts 4d217cd75b Issue #8151 - add close with callback to Jetty WebSocket API
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-17 18:17:49 +10:00
Lachlan Roberts e4b0db8666 Issue #8170 - fix WebSocket close over HTTP/2
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-17 15:28:16 +10:00
Joakim Erdfelt d63569d025
Migrate code from jetty-util Logger to slf4j Logger (#8162)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-06-15 20:01:48 +02:00
Lachlan Roberts ed541d344c Issue #8151 - make websocket close non-blocking
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-14 16:43:59 +10:00
Lachlan 0699bc5326
Use static exceptions for closing websocket flushers and in ContentProducer (#8155)
* Use StaticException class in jetty-util for websocket flushers.
* Use StaticException class for ContentProducer recycle and consumeAll

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
Co-authored-by: Ludovic Orban <lorban@bitronix.be>
2022-06-13 14:11:31 +02:00
Lachlan b1c19c0b0f
Merge pull request #8134 from eclipse/jetty-10.0.x-websocketPermessageDeflatePools
Improve cleanup of deflater/inflater pools for PerMessageDeflateExtension
2022-06-10 09:43:23 +10:00
Lachlan Roberts 3901159093 remove IOException from Extension.close() interface.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-09 08:12:06 +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 f4c54f4571 remove close to incomingFlusher in PerMessageDeflateExtension
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-08 10:49:23 +10:00
Lachlan Roberts e578791518 Changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-08 10:44:17 +10:00
Lachlan Roberts 5a24f90064 Improve cleanup of deflater/inflater pools for PerMessageDeflateExtension
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-06-07 18:52:48 +10: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
dependabot[bot] c2c1ea8d9a
Bump maven-bundle-plugin from 5.1.4 to 5.1.5 (#7933)
* Bump maven-bundle-plugin from 5.1.4 to 5.1.5

Bumps maven-bundle-plugin from 5.1.4 to 5.1.5.

---
updated-dependencies:
- dependency-name: org.apache.felix:maven-bundle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Standardize maven-bundle-plugin usage (to avoid build error)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-05-06 16:24:40 -05:00
Joakim Erdfelt 16420f0181
Set version to `10.0.10-SNAPSHOT` (#7823)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2022-04-03 20:33:44 +10:00
Joakim Erdfelt f079949a35
Merge Release 10.0.9 (#7821)
* Updating to version 10.0.9

* Updating to version 10.0.10
2022-04-02 08:43:44 -05:00
Lachlan Roberts 7081a776b7 Issue #7573 - fix support in websocket for class path param types
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2022-02-14 16:37:57 +11:00
Simone Bordet a4fda96f49
Updating to version 10.0.9-SNAPSHOT 2022-02-07 12:02:02 +01:00
Simone Bordet 716c7afd8e
Updating to version 10.0.8 2022-02-07 11:34:12 +01:00
Lachlan b0e334f14a
Run WebSocket Autobahn test for all Jetty, Javax and Core APIs (#7430)
* Run WebSocket Autobahn test for all Jetty, Javax and Core APIs

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

Signed-off-by: Olivier Lamy <oliver.lamy@gmail.com>
2022-01-31 15:29:41 +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 2b41e4d231
Issue #7351 - large WebSocket payloads with permessage-deflate hang (#7360)
PerMessageDeflateExtension and FragmentExtensions now intercept demand for incoming frames. These extensions may fragment a single frame into many frames, so they must wait until a new frame has been demanded before forwarding the next synthetic frame to the application.
2022-01-19 10:47:45 +11:00
Lachlan Roberts ab5c72f14f Fix possible NPEs from WebSocketAdapter
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2021-12-16 18:31:57 +11:00
Lachlan 33c9536d12
Merge pull request #7058 from eclipse/jetty-10.0.x-2504-WebSocketDump
Issue #2504 - expose more WebSocket details in jetty server dump
2021-12-02 19:55:50 +11:00