Commit Graph

589 Commits

Author SHA1 Message Date
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 5a08e48fe7 don't duplicate checks in handshake selector
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-12 16:46:47 +10:00
Lachlan Roberts 17b17cb2b9 clean up websocket handshakers
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-12 15:22:56 +10:00
Lachlan Roberts 3068b4c8ae fix build issues
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-12 11:04:05 +10:00
Simone Bordet d69a1f0f58 Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3537-bootstrap_websocket_http2'. 2019-09-12 00:11:01 +02:00
Lachlan Roberts 72ce7456eb optimize HandShakeSelector
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-09-12 08:07:31 +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 01af85db42 Issue #3537 - Bootstrapping WebSockets with HTTP/2.
Implemented upgrade logic for WebSocket over HTTP/2.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-08-14 14:57:21 +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
Lachlan Roberts e31009cb06 WebSocketCoreClient no longer stores configuration and can be shared
configuration moved to ClientUpgradeRequest

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-21 11:33:06 +10:00
Lachlan Roberts 0b41386c0d don't allow custom CoreClients to be supplied to JavaxClientContainer
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-17 16:54:09 +10:00
Lachlan Roberts a115e92029 move maxMessageSize configuration from javax framehandler to session
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-16 15:43:38 +10:00
Lachlan Roberts c68a1b6066 fix the websocket configuration problems shown by ClientConfigTest
correctly detect when a message has exceeded the max size in the sink

forward changes to the input buffer size to the connection in WSChannel

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-16 15:38:33 +10:00
Lachlan Roberts 7019c18117 refactor of javax WebSocketContainer configuration
the client and server subclasses of JavaxWebSocketContainer now
share a common configuration instance which is used as the default
configuration for both server and client endpoints

to do this a setter was added for the configuration on the CoreClient

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-16 15:38:12 +10:00
Lachlan Roberts 7e5dcda708 force websocket idle timeout default to be set on endpoint
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-15 12:39:04 +02:00
Lachlan Roberts 2782344d4c revert ConfigurationCustomizer change from #3374
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-15 12:39:04 +02:00
lachan-roberts 5f4c6c3b94 Issue #3374 - comments, name changes and fixes to timeout algorithm
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-05-09 00:05:57 +02:00
Lachlan Roberts 1ef191ffcd Issue #3374 - websocket write timeout improvements
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-09 00:05:57 +02:00
Lachlan Roberts 92e38fcb42 Issue #3374 - implementation of write timeouts for websockets
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-09 00:05:57 +02:00
Lachlan Roberts 6887f9d6dd Issue #3608 - fix merge of tests jetty-10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-04 14:50:20 +02:00
Joakim Erdfelt 52bb963186 Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	aggregates/jetty-all-compact3/pom.xml
#	jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTest.java
#	jetty-deploy/src/test/java/org/eclipse/jetty/deploy/bindings/GlobalWebappConfigBindingTest.java
#	jetty-fcgi/fcgi-server/src/test/java/org/eclipse/jetty/fcgi/server/HttpClientTest.java
#	jetty-http/src/test/java/org/eclipse/jetty/http/HttpParserTest.java
#	jetty-http2/http2-alpn-tests/pom.xml
#	jetty-http2/http2-http-client-transport/pom.xml
#	jetty-infinispan/infinispan-remote-query/src/test/java/org/eclipse/jetty/server/session/infinispan/RemoteQueryManagerTest.java
#	jetty-proxy/src/test/java/org/eclipse/jetty/proxy/ConnectHandlerTest.java
#	jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java
#	jetty-server/src/test/java/org/eclipse/jetty/server/ProxyConnectionTest.java
#	jetty-servlet/src/test/java/org/eclipse/jetty/servlet/AsyncContextTest.java
#	jetty-servlet/src/test/java/org/eclipse/jetty/servlet/ErrorPageTest.java
#	jetty-servlets/src/test/java/org/eclipse/jetty/servlets/CrossOriginFilterTest.java
#	jetty-servlets/src/test/java/org/eclipse/jetty/servlets/GzipDefaultTest.java
#	jetty-servlets/src/test/java/org/eclipse/jetty/servlets/GzipTester.java
#	jetty-servlets/src/test/java/org/eclipse/jetty/servlets/HeaderFilterTest.java
#	jetty-servlets/src/test/java/org/eclipse/jetty/servlets/PutFilterTest.java
#	jetty-util/src/test/java/org/eclipse/jetty/util/BufferUtilTest.java
#	jetty-util/src/test/java/org/eclipse/jetty/util/resource/ResourceCollectionTest.java
#	jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/DecoderReaderManySmallTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/DelayedStartClientOnServerTest.java
#	jetty-websocket/javax-websocket-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/client/DelayedStartClientTest.java
#	jetty-websocket/javax-websocket-tests/src/test/java/org/eclipse/jetty/websocket/javax/tests/server/AltFilterTest.java
#	jetty-websocket/jetty-websocket-client/src/test/java/org/eclipse/jetty/websocket/client/HttpClientInitTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientCloseTest.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/AbstractWebSocketConnection.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/ByteAccumulatorTest.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WSServer.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketServerFactoryTest.java
#	jetty-xml/src/test/java/org/eclipse/jetty/xml/XmlConfigurationTest.java
#	pom.xml
#	tests/jetty-http-tools/src/main/java/org/eclipse/jetty/http/tools/matchers/HttpFieldsMatchers.java
#	tests/test-http-client-transport/pom.xml
#	tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/ServerTimeoutsTest.java
#	tests/test-integration/src/test/java/org/eclipse/jetty/test/support/rawhttp/HttpResponseTesterTest.java
2019-05-01 15:02:31 -05:00
lachan-roberts c5cb2170aa documentation link fixes and use of static loggers
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-04-29 13:51:18 +04:00
lachan-roberts 002ecf526d Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-3494-clientclosetest
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-04-09 18:21:40 +10:00
Lachlan Roberts 6cd5fb42e9 Issue #3494 - adjustments to WebSocketChannel processConnectionError
WebSocketChannel.processConnectionError now defaults to NO_CLOSE
status if no protocol reasons can be found

added some debug logging

improvements to tests

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-05 12:18:09 +11:00
Simone Bordet 9c13cf3a52 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-04-02 17:37:56 +02:00
lachan-roberts 50c193c23b Issue #3494 - fix ClientCloseTest.testWriteException()
Nulling out values in WebSocketAdapter causes race conditions when
trying to access session and endpoint externally

Race condition in WebSocketChannel.Flusher.onCompleteFailure(),
processConnectionError should be called first to ensure that the
correct close reason is processed, super.onCompleteFailure() was closing
the connection causing a read failure.

race condition between the server detecting a read failure and sending
a response and the client detecting the write failure, now blocking
on the server so it is not reading and will not detect the failure

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-04-01 11:19:23 +11:00
Lachlan Roberts 46ef94c1b9 Issue #3465 - client/server error handling behavior for ExtensionStack
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-26 16:29:45 +11:00
lachan-roberts 0d570dd6b6 Issue #3478 - changes from review
ExtensionStack.negotiate now differentiates between incorrect
extension config offered or incorrect config from negotiation

adding more BadMessageException cases

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-22 15:42:39 +11:00
Lachlan Roberts eb4f7c000f Issue #3465 - internal WebSocket extensions
do not allow internal extensions to be offered by the client
do not validate internal extensions

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-21 12:33:53 +11:00
Lachlan Roberts 26e7881dbd Issue #3465 - Negotiation of WebSocket extensions
default behaviour of Negotiation no longer includes all of the
offered extensions as the negotiated extensions but it now takes
only the first extension if there are multiple of the same name,
this is now done when the negotiation is created and can be overwritten
by the negotiator

Throw exception on websocket errors so the proper status code can
be reported back to the client

fix to checking for multiple negotiated extensions of the same name

added tests for core and jetty websockets for the negotiation

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-21 11:41:01 +11:00
Lachlan Roberts 7e9700fb9a Issue #3462 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-19 14:38:17 +11:00
Lachlan Roberts 403bdb70ea Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-3462-websocketclient-validation
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-19 11:54:19 +11:00
Lachlan Roberts cdd3ed943c Issue #3462 - parse extensions and subprotocols from headers every time
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-19 11:20:49 +11:00
Lachlan Roberts 20e9770b73 Issue #3458 - testing of Jetty WebSocket API ExtensionConfig
wire up the jetty-api extensions by copying the ExtensionConfig from
the jetty-api upgrade request to the core upgrade request

make UpgradeListener interface methods default for convenience

introduce test to test the functionality of API ExtensionConfig

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-18 15:24:23 +11:00
lachan-roberts 1a20c8cda3 Issue #3462 - fix server validation of websocket upgrade response
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-18 15:12:23 +11:00
lachan-roberts 53a4a747db Issue #3462 - fix client validation of websocket upgrade response
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-18 12:20:11 +11:00
lachan-roberts 459c5adc48 Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-3170-websocket-proxy
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-11 16:41:13 +11:00
lachan-roberts 59ec0da768 Issue #3406 - fix jetty websocket tests
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-07 10:52:03 +11:00
Greg Wilkins c341928b84
Merge pull request #3390 from lachlan-roberts/jetty-10.0.x-3106-websocketConnectionStats
Issue #3106 - implement WebSocketConnection stats
2019-03-06 18:00:41 +11:00
lachan-roberts ebbca84a87 WebSocketChannel bug fixes, cleanup and javadoc updates for FrameHandler
pass the cause from the AbnormalCloseStatus to closeConnection in
WSChannel

If onOpen throws we now throw a runtime exception in addition to
failing the callback, this is to fail the CompletableFuture in the
ClientUpgradeRequest.

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-06 14:15:04 +11:00
Lachlan Roberts 6094b3802f Issue #3106 - WebSocketConnectionStats changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-06 10:27:02 +11:00
Lachlan Roberts 46c2941a82 Issue #3106 - implement WebSocketConnection stats
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-06 10:27:02 +11:00
Greg Wilkins c63a578c29
Merge pull request #3413 from lachlan-roberts/jetty-10.0.x-3412-WebSocketSession-Customizer
Issue #3412 - WebSocket CoreSession Customizer
2019-03-06 10:09:50 +11:00
Greg Wilkins ad8b22abf0
Merge pull request #3401 from lachlan-roberts/jetty-10.0.x-3159-permessage-deflate-rsv1
Issue #3159 - permessage-deflate continuation frame with RSV1 set
2019-03-06 09:20:50 +11:00
Lachlan Roberts 69822efb45 Issue #3412 - WSChannel only sets idleTimeout on connection if non null
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-05 13:30:34 +11:00
Lachlan Roberts 9cd96c3c93 Issue #3159 - Ensuring we follow permessage-deflate RSV1 rules in RFC7692
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-05 10:43:00 +11:00
Greg Wilkins 15647a742c
Merge pull request #3407 from lachlan-roberts/jetty-10.0.x-core-test-cleanup
websocket core test cleanup
2019-03-05 10:03:19 +11:00
Joakim Erdfelt 715bac2660 Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithAnnotations.java
#	jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestOSGiUtil.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageBinaryCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/OnMessageTextCallable.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/BinaryWholeMessage.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/messages/TextWholeMessage.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/EchoTest.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/compress/PerMessageDeflateExtension.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/FragmentExtensionTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/PerMessageDeflateExtensionTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/OutgoingFramesCapture.java
2019-03-04 09:44:47 -05:00
lachan-roberts d380012fc9 Issue #3412 - WSChannel delay config of idletimeout on WSConnection
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-01 18:22:18 +11:00
Lachlan Roberts 5ecd512a90 Issue #3412 - always customize WSChannel directly after creation
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-01 15:47:23 +11:00
Joakim Erdfelt e476cec6d3 Issue #1676 - Removing deprecated methods and classes
+ Changing usages of JVM deprecated classes / methods as well
+ Cleaning up test cases and javadoc
+ Removing test methods that rely on deprecated and now removed concepts

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-02-28 17:54:28 -05:00
Lachlan Roberts 4ee399be1e WebSocket core test cleanups
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-28 18:14:34 +11:00
Lachlan Roberts 37ab716bc5 Issue #3170 - fail the CompletableFuture if onOpen throws
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-28 18:12:50 +11:00
Greg Wilkins d3c32b2446
Merge pull request #3403 from lachlan-roberts/jetty-10.0.x-websocket-tests-tls
Issue #3402 - parameterized WebSocketCloseTest over TLS
2019-02-28 16:28:41 +11:00
Joakim Erdfelt d8a9f2619b Issue #3379 - Add tracking of WebSocket Sessions to various WebSocket Container APIs
+ Jetty WebSocket API now tracks Sessions and will close them on
  lifecycle stop
+ Javax WebSocket API now tracks Sessions and will close them on
  lifecycle stop
+ Adding Jetty WebSocket tests for proper close / session tracking
+ Disabling tests that need triage

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-02-27 16:26:43 -05:00
Lachlan Roberts 4f0abff931 Issue #3402 - parameterized WebSocketCloseTest over TLS
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-27 15:27:26 +11:00
lachan-roberts bd50e2941c Issue #3170 - changes from review
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-02-22 16:36:19 +11:00
Joakim Erdfelt ee1a7f613f Issue #3279 - Merge of FrameFlusher fix
Signed-off-by: Joakim Erdfelt <joakim@erdfelt.com>
2019-02-21 13:56:32 -05:00