Commit Graph

538 Commits

Author SHA1 Message Date
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
Greg Wilkins 46a3368f3b
Issue #2578 - Listener behavior cleanup (Jetty 10.0.x) (#3966)
* Avoid creating listener list for rarely used requestAttributeListener

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

* Issue #3964

Keep a list of EventListeners in the AbstractConnector to make it
more efficient to add and iterate over them.

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

* Issue #2578 EventListener

Use addEventListener rather than bespoke listener methods.
Support getEventListenerBeans at Container level for fast lookup
improve javadoc

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

* Issue #2578 EventListener

fixed test
more javadoc

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

* Issue #2578 EventListener

fixed tests

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

* Issue #3964

Don't use null for empty lists of listeners

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

* fix merge

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

* Issue #2578 EventListener

Resolve differences between eventListeners added as beans and beans
added as EventListeners.   The behaviour should now be the same
regardless of how they listener is added and all listeners are now
beans.

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

* Issue #2578 EventListener

Add only SelectorManager listeners to manager from connector

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

* Issue #2578 EventListener

Fixed javadoc

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

* Issue #2578 EventListener

removed old TODO

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

* Issue #2578 EventListener

connector cannot be null

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

* Issue #2578 EventListener

javadoc

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

* Issue #3964

AbstractConnector keeps a specific list of HttpChannel.Listeners
to avoid Connection.Listeners and MBean listeners being added to
the HttpChannel listener list.

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

* Issue #2578 EventListener

fixed merge

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

* fixed javadoc

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

* Issue #2578 EventListener

removed the ability to set/clear context listeners
Instead just remove non-durable ones.

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

* Issue #3964 Listeners

Simplified listener handling by avoiding null connector, previously
only needed for testing.

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

* fixed bad merge

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

* Issue #3964 Listeners

Fixed test that assumed HttpChannel listeners were not cleared by a recycle

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

* Issue #3964 Listeners

Separated out durable vs cyclic HttpChannel.Listeners, so as to
simplify handling.

Deprecated cyclic HttpChannel.Listeners, as I'm not sure the channel is
the right place for them.

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

* removed deprecated cyclic HttpChannel listeners

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

* removed deprecated cyclic HttpChannel listeners - import

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

* Issue #4003 Cleanup quickstart

* Fixed tests that scan for "Started" on console

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

* updates from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-11-13 11:04:38 +11:00
Lachlan d0f74c5532
Issue #4124 - autobahn tests for jetty, javax websocket APIs (#4147)
- do not select duplicate extensions in javax default Configurator
- correctly copy payload for ping frames in jetty & javax frame handlers
- add ByteBuffer to javadoc for onMessage in jetty api
- cleaned up some test logging for EventSocket
- add autoFragment and maxFrameSize settings to WebSocketPolicy
- fix early validation for multiple extensions in setExtensions

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-07 11:06:14 +11:00
Lachlan 2310196532
Issue #1777 - configuration for jetty-10 WebSocketClient to be stopped at shutdown
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-11-07 11:02:25 +11:00
Lachlan f6f423f558
Issue #4152 - make WS Parser autoFragment data frames to maxFrameSize (#4219)
* Issue #4152 - make WS Parser autoFragment data frames to maxFrameSize

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

* Issue #4152 - fix broken tests

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

* Issue #4152 - fix broken tests

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

* changes from review

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-10-22 16:17:50 +11:00
Lachlan d47264960e
Issue #3734 - throw ISE for WebSocket suspend after close (#4095)
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-10-08 09:47:48 +11:00
Joakim Erdfelt d7a189fa18 Updating to version 10.0.0-SNAPSHOT 2019-10-03 12:05:26 -05:00
Joakim Erdfelt fd6a2cb9f6 Updating to version 10.0.0.alpha1 2019-10-03 11:25:06 -05:00
Lachlan Roberts aa417f939e Fix WebSocket CompressExtension releaseDeflater() bug.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-27 10:18:35 +10:00
Simone Bordet 0eec727a09 After review, renamed *directBuffers to *directByteBuffers.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-09-17 12:16:10 +02:00
Simone Bordet 1ef4a416b5 Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3952-server_direct_heap_bytebuffers'. 2019-09-16 12:26:26 +02:00
Lachlan b027aa5afa
Fixes #3705 - revert ClientUpgradeRequest error handling logic (#4090)
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-16 17:21:33 +10:00
Lachlan Roberts 387faa7e33 clean up websocket jetty-logging.properties files
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-11 18:02:18 +10:00
Joakim Erdfelt 4e80748b3b Merge branch `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
2019-08-28 15:01:41 -05:00
olivier lamy cf592469aa checkstyle fixes.
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-08-23 13:09:15 +10:00
Simone Bordet 985d98296b Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3952-server_direct_heap_bytebuffers'. 2019-08-14 15:45:49 +02:00
Simone Bordet a700907522
Issue #250 - Implement HTTP CONNECT for HTTP/2. (#3539)
Fixes #250 - Implement HTTP CONNECT for HTTP/2.

Modified HTTP/2 implementation to support the CONNECT method.
Implemented semantic defined by RFC 8441.
Implemented section 8.3 of RFC 7540.
Introduced HTTP2Client.streamIdleTimeout.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-13 19:07:04 +03:00
Simone Bordet 5ccaea3c74 Fixes #3952 - Server configuration for direct/heap ByteBuffers.
Updated server-side to use direct/heap ByteBuffers based on
getters and setters in the relevant components.
Made HTTP/1.1, HTTP/2, and WebSocket use the same mechanism.

Removed unused obsoleted methods:
* EndPoint.isOptimizedForDirectBuffers()
* HttpTransport.isOptimizedForDirectBuffers()
* HttpOutput.Interceptor.isOptimizedForDirectBuffers()
* HttpChannel.useDirectBuffers()

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-12 17:20:50 +02:00
olivier lamy 6df9ef3a15 Updating to version 10.0.0-SNAPSHOT 2019-07-12 06:54:56 +10:00
olivier lamy 8cbfd51e80 Updating to version 10.0.0-alpha0 2019-07-12 06:54:56 +10:00
olivier lamy a34e641a27 Updating to version 10.0.0-SNAPSHOT 2019-07-11 17:20:27 +10:00
olivier lamy 2e58f2f515 Updating to version 10.0.0-alpha0 2019-07-11 14:19:45 +10:00
olivier lamy 352d1e7c3b fix checkstyle
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-07-09 18:27:14 +10:00
Lachlan Roberts 9449008581 Issue #3849 - only notify onError for local errors
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-05 16:06:56 +10:00
Lachlan Roberts bb1a260fa5 Merge remote-tracking branch jetty-10.0.x into jetty-10.0.x-300-CompressionPool
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-04 10:22:10 +10:00
Greg Wilkins d744d097de
Checkstyle cleanup (#3847)
* Checkstyle cleanup
* fixed bug from reformat
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-07-03 17:24:08 +02:00
Greg Wilkins 9fe27eb8e3 Updated all arrays after merge of #3846
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-07-03 17:23:02 +02:00
Lachlan Roberts 705e1cafe0 Issue #300 - use inflater/deflater pools in CompressExtension
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-02 16:42:50 +10:00
Lachlan Roberts 64eb3217cd Issue #300 - refactor usages of WebSocketComponents
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-02 15:28:58 +10:00
Lachlan cbc4768cae
Issue #3159 - do not copy RSV bits to auto-fragmented frames (#3816)
* Issue #3159 - do not copy RSV bits to auto-fragmented frames

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

* Issue #3159 - warn if DeflateFrameExtension detects autoFragment on

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

* Issue #3159 - automatically set auto-fragment false in DeflateFrameExt

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

* Issue #3159 - automatically set auto-fragment false in DeflateFrameExt

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

* Issue #3159 - add todo

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-01 17:06:32 +10:00
Lachlan ac8910e044
Issue #3809 - ensure abnormal close frame will hard close ws connection (#3819)
* Issue #3809 - ensure abnormal close frame will hard close ws connection

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

* Issue #3159 - signal onError on abnormal status code close

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-01 16:50:56 +10:00
Lachlan fa4abfa6bb
Merge pull request #3365 from lachlan-roberts/jetty-10.0.x-3170-websocket-proxy
Issue #3170 - WebSocket Proxy
2019-07-01 11:53:48 +10:00
Lachlan cc4304a0f6
WebSocket core autobahn and MessageHandler refactor (#3802)
* reworked WebSocket autobahn test code and the core MessageHandler

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

* PR #3802 - changes from review

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-26 13:47:46 +10:00
Greg Wilkins b7a7a53a18
Jetty 10.0.x reformat (#3812)
* Removing Legacy Method Separators
* Restyling branch `jetty-9.4.x`
* Applying changes highlighted by checkstyle
* Removing Legacy Method Separators
* Restyling branch `jetty-10.0.x`
* Applying checkstyle changes
* Applying checkstyle changes
* Applying XML restyling
* Restyling XML in branch `jetty-10.0.x`
* Fixing XML codestyle for IntelliJ
* Fixing XML style mistakes
* Fixing XML restyling in branch `jetty-10.0.x`
* Revert "Applying XML restyling"
* Updating checkstyle for XML codestyle
* Revert "Restyling XML in branch `jetty-10.0.x`"

# Conflicts:
#	jetty-xml/src/test/resources/org/eclipse/jetty/xml/configureWithAttr.xml
#	jetty-xml/src/test/resources/org/eclipse/jetty/xml/configureWithElements.xml

* Adding back build-resources
* Reformatting pom.xml files
* Disabling Checkstyle job
* fixed empty string on line wrap
* reformatted with latest intellij style
* misc checkstyle fixes

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-06-24 17:42:39 +02:00
Joakim Erdfelt 479eb77f6a
Merge pull request #3797 from eclipse/jetty-10.0.x-remove-deprecated
Remove deprecated in Jetty 10.0.x
2019-06-21 14:27:34 -05:00
Lachlan 3ae6d41a18
WebSocket core cleanup (#3783)
* cleanups of WebSocket core

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

* WebSocket ConfigurationCustomizer now extends ConfigurationHolder

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

* adding isDebugEnabled checks

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-21 10:14:27 +10:00
Joakim Erdfelt ef36cde4ed Issue #2909 - Remove B64Code
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-20 11:15:04 -05:00
Lachlan Roberts e305736b02 add request and response to JettyWSFrameHandler on server side
wrap exceptions delivered to jetty connect CompletableFuture

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-20 16:47:11 +10:00
Lachlan 6fcc3d1a77
Issue #3762 - use the default port of 0 for WebSocket tests (#3770)
* Issue #3762 - use the default port of 0 for WebSocket tests

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

* Issue #3762 - use system property to set custom port in xml

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-13 15:43:19 +10:00
Lachlan Roberts e007634e53 Issue #3170 - cleanups of WebSocketProxy and WebSocketProxyTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-11 17:12:02 +10:00
Lachlan Roberts 327783e1ce Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-3170-websocket-proxy
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-11 15:17:54 +10:00
Joakim Erdfelt 68a9498092 Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-10 11:51:55 -05:00
Lachlan 62eedebd17
Issue #3705 - WebSocket upgrade failure and CompletableFuture refactor
* Issue #3705 - notify WebSocket framehandler on client upgrade failure

getFrameHandler on the ClientUpgradeRequest no longer takes
the upgrade response, the response must be set later if it is
required by the framehandler implementation

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

* Issue #3705 - changes from review

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

* Issue #3705 - throw if FrameHandler could not be created

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

* wip

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

* Issue #3705 - count down the onOpen latch in NetworkFuzzer

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

* Issue #3705 - WebSocket Session CompletableFuture refactor

- sessionFutures for jetty and javax are now implemented using the
futureCoreSession which will occur after onOpen

- the request and response are set on the FrameHandler before the
upgrade

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-06 08:13:33 +10:00
Lachlan Roberts 6681da7e74 Issue #3666 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-03 11:18:41 +10:00
Lachlan Roberts e5a6910be4 Issue #3666 - changes from review
- code cleanups
- made SHUTDOWN 1001 status an abnormal close status

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-24 05:58:02 +10:00
Lachlan Roberts 9e09f76fda Issue #3666 - error CloseFrames skip frames in the FrameFlusher queue
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-24 05:54:49 +10:00
Lachlan Roberts d6c68c4911 Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-configuration-refactor
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-23 09:03:27 +10:00
Lachlan Roberts f4990dd0f5 prefer the field and variable name of coreSession instead of session
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-22 08:29:05 +02:00
Lachlan Roberts 491ff5eb93 rename WebSocketChannel to WebSocketCoreSession
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-22 08:29:05 +02:00
Lachlan Roberts 5f62e0f2db store shared websocket components as attributes and not beans
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-21 18:56:53 +10:00