Commit Graph

2939 Commits

Author SHA1 Message Date
Joakim Erdfelt 05bb111580 Updating to version 9.4.18-SNAPSHOT 2019-04-18 15:59:49 -05:00
Joakim Erdfelt aa1c656c31 Updating to version 9.4.17.v20190418 2019-04-18 14:44:28 -05:00
Lachlan Roberts 41df3d6fc3 Issue #3479 - deprecate send by Future methods in RemoteEndpoint
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-18 07:02:01 +10:00
lachan-roberts e09df1fe6d Issue #3479 - code cleanups
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-04-18 07:02:01 +10:00
lachan-roberts 0bd1f3918d Issue #3479 - allow async sending of partial data frames and ping/pong
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-04-18 07:02:01 +10:00
lachan-roberts 04f0872913 Issue #3479 - implement getInetSocketAddress() and flush()
deprecate old getInetSocketAddress() and add getRemoteAddress()

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-04-18 07:02:01 +10:00
Lachlan Roberts f42ef1356e Issue #3479 - removing unused classes in jetty-websocket-api
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-18 07:02:01 +10:00
Lachlan Roberts 9e3eb3df35 Issue #3479 - Wire up batchMode annotation for jetty-websockets
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-18 07:02:01 +10:00
Lachlan Roberts aeb9d2c5dc Issue #3476 - previous WebSocketSessions being added to new connections
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-16 13:41:38 +10:00
Joakim Erdfelt 79537a5f51 Updating to version 9.4.17-SNAPSHOT 2019-04-11 11:00:24 -05:00
Joakim Erdfelt e0aa4ae4c0 Updating to version 9.4.16.v20190411 2019-04-11 10:01:26 -05: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
Joakim Erdfelt dd5c2e315f Issue #3530 - Warning on attempt to use WebSocket Bootstrap on HTTP/2
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-04-08 12:05:39 -05:00
Simone Bordet 40c2e76786 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2019-04-06 13:45:54 +02:00
Greg Wilkins d0eef53cf6
Merge pull request #3504 from lachlan-roberts/jetty-10.0.x-3382-session-suspend
Issue #3382 - implement Session.suspend() for jetty-10 jetty-websocket-api
2019-04-06 09:17:33 +11:00
Simone Bordet 1b384329ae Fixes #3526 - Request locale not retained in WebsocketUpgrade request.
Trivial fix, the locale was not copied from the HTTP requets to the
WebSocket upgrade request.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-04-05 17:50:41 +02:00
Lachlan Roberts 54690185ef Issue #3382 - update to javadoc from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-05 17:03:20 +11:00
lachan-roberts 3f0ed2cc1a Issue #3382 - changes from review
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-04-05 13:14:17 +11: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 ec273b7cf0 Fixes after merge.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-04-03 19:13:19 +02:00
Lachlan Roberts 5eed464730 Issue #3382 - delay any frames received while suspended until resumed
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-03 17:24:40 +11:00
Lachlan Roberts 7df8140137 Issue #3494 - failures in testRemoteDisconnect because of timeout
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-03 14:50:37 +11:00
Lachlan Roberts 607a870d8e Issue #3494 - fixes to testStopLifecycle
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-03 10:34:53 +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
Simone Bordet c4b2621f56
Merge pull request #3480 from eclipse/jetty-9.4.x-3464-split_sslcontextfactory
Issue #3464 - Split SslContextFactory into Client and Server
2019-04-02 12:39:37 +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
lachan-roberts 8f29ea04cd Issue #3382 - implement Session.suspend() for jetty 10 websocket-api
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-29 20:16:20 +11:00
Lachlan Roberts 717d7300ac adding missing file headers for JettyWebSocketServlets
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-28 16:22:10 +11:00
Lachlan Roberts 81960e3da8 Issue #3484 - make WebSocketServlet generic
WebSocketServlet could only be used with the jetty-websocket-api
make this generic and add implementation in websocket-server

this prevents jetty-websocket-server from needing to use core classes
can cause class cast exceptions from a webapp due conflicts between the
clients version of core classes and those provided by the container

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-28 16:22:10 +11:00
Lachlan Roberts 3c61a92ac8 only protectAndExpose api and server for jetty-websockets
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-28 16:22:10 +11:00
Lachlan Roberts 97ff7ed9c0 Issue #3106 - changes from review, adding javadoc
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-28 14:30:11 +11:00
Lachlan Roberts 45b2c548b0 Issue #3106 - backport WebSocket connection stats from jetty-10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-28 14:30:11 +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
Joakim Erdfelt 65528f76c5
Merge pull request #3467 from eclipse/jetty-9.4.x-3422-wss-close-wait
Issue #3422 - WebSocket wss CLOSE_WAIT on aborted client connection
2019-03-22 11:36:40 -05: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
Joakim Erdfelt 4eb8cb1686 Issue #3422 - Using new Connection.Listener support in websocket server
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-21 14:40:49 -05:00
Joakim Erdfelt e56ef9d8f8 Backporting Connection.Listener support on WebSocket server connections from `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-21 14:37:41 -05:00
Simone Bordet 6fb243ff6c Issue #3464 - Split SslContextFactory into Client and Server
Introduced SslContextFactory subclasses Client and Server.
Replaced all usages of SslContextFactory with either Client or Server
as required.

Refactored configuration checking so that warnings are not emitted
when non necessary.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-03-21 14:42:42 +01: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
lachan-roberts 96027f5437 Issue #3462 - incorrectly setting websocket extensions and subprotocol
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-18 16:36:16 +11:00
lachan-roberts dab3b64d70 Issue #3458 - make jetty-websocket-client hide websocket-core
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-18 15:24:23 +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
Lachlan Roberts 62406cdfa2 Issue #3458 - missing licence headers and changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-18 15:24:23 +11:00
Lachlan Roberts f60534a8ac Issue #3458 - jetty websocket upgrades with only websocket-server
websocket-servlet exposes core classes as it is used by the jetty and
javax sides, so this introduces a way to add websocket mappings
with jetty-server which does not depend on websocket-servlet

to set websocket mappings through the JettyWebSocketServerContainer
you now need to use the JettyWebSocketCreator which abstracts away
the core classes from use with the jetty websocket api

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-18 15:24:23 +11:00
Lachlan Roberts 86675422a6 Issue #3458 - ExtensionConfig now delegates to core implementation
ExtensionConfig is now interface in jetty-websocket-api and
implemented in jetty-websocket-common, for its static methods it now
uses a ExtensionConfig.Parser found by the ServiceLoader

the api tests were moved to jetty-websocket-tests

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
Joakim Erdfelt d7364e4794 Issue #3422 - Fixing testcase expectations
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-15 14:08:33 -05:00
Joakim Erdfelt 4fb1940283 Issue #3422 - Fixing testcase expectation
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-15 12:44:28 -05:00
Joakim Erdfelt 76de1c0f24 Issue #3422 - WebSocket wss CLOSE_WAIT on aborted client connection
+ Adding testcase to replicate
+ Fixing CLOSE_WAIT by issuing wsclose + disconnect on eof

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-15 11:52:14 -05:00
Greg Wilkins 8b2b626f3c
Merge pull request #3455 from eclipse/jetty-10.0.x-3453-remove-deprecated-websocket-extension-api
Issue #3453 - Removing deprecated Extension classes in jetty-websocket-api
2019-03-13 11:05:47 +11:00
Joakim Erdfelt 8a0fff9153 Issue #3453 - Removing deprecated Extension classes in jetty-websocket-api
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-12 10:23:51 -05:00
lachan-roberts 8f727bef40 Issue #3446 - changes from review
use the same FrameHandlerFactory for WebSocketServlet and
WebSocketUpgradeFilter

removed addMapping with PathSpec and only support addMapping
with String

JettyWebSocketServerContainer now implements WebSocketPolicy which
configures the FrameHandler.Customizer

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-12 10:46:22 +11:00
Greg Wilkins 76a37352f5 Issue #3440 Stop on Unavailable
+ revert schedulers to non-daemon threads for now so this PR can
   proceed.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-12 09:21:19 +11:00
lachan-roberts e355ec31b8 Issue #3446 - renaming, code cleanup and fixes
rename WebSocketSessionImpl to WebSocketSession

remove SessionListener which is unused and replaced by
WebSocketSessionListener

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-11 18:07:52 +11:00
lachan-roberts e9df97e314 Issue #3446 - allow jetty-websocket upgrades with WebSocketUpgradeFilter
JettyWebSocketServerContainer moved out of internal and is now used
in a similar way to the Javax server container, and can now be
used to configure upgrades using the shared mapping with
the WSUpgradeFilter

the JettyWSSCI now works in the same way as the JavaxWSSCI, the
JettyWebSocketEmbeddedStarter has been removed and the configureContext
now returns the JettyWebSocketServerContainer

WebSocket upgrade failures due to exceptions will now be logged as
a warning in WebSocketMapping rather than being ignored

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-11 18:05:44 +11:00
lachan-roberts 265e0be6f7 Issue #3446 - jetty-websocket tests for WebSocketUpgradeFilter
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-11 18:05:44 +11:00
lachan-roberts a01fc193a1 WebSocket code cleanups and renaming
rename JettyWSSCI.configure to configureContext, this is more similar
to the javax equivalent version

introduce helper method getMapping in WebSocketMapping

WebSocketServletFactory now implements FrameHandler.Configuration

changed WebSocketMapping Attribute name in WebSocketUpgradeFilter

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-11 18:05:44 +11:00
lachan-roberts ddd60f1992 Issue #3406 - changes from review
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-08 14:50:49 +11:00
Greg Wilkins 375ad81f4b Issue #3440 Stop on Unavailable
+ Any schedulers created are named (for ease of debug) and daemon
   so they do not stop the JVM exiting.
 + If the server.doStart() fails, it calls server.doStop to ensure
   connectors are stopped, ports are free etc.
 + cleanup of addBean handling of scheduler in proxy

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-07 15:10:53 +11:00
lachan-roberts 01bc9d3835 Issue #3406 - fix SessionTracker and JettyWebSocketFrameHandlerTest
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-07 14:19:35 +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
lachan-roberts 155974bc07 Issue #3406 - jetty and javax WebSocket FrameHandler fixes
invoke the close handle in onClosed instead of onCloseFrame in
JettyWebSocketFrameHandler

in both frame handlers replace usage of getClass().getName()
with getClass().getSimpleName() to increase the amount of characters
from the original exception which can fit in the close frame message

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-07 10:27:50 +11:00
lachan-roberts 13f8202c06 Issue #3412 - fix WebSocketClient configuration methods
WebSocketClient implements WebSocketPolicy but the methods were never
wired through to use the websocket core FrameHandler.Customizer

the WSClient now has a ConfigurationCustomizer which it uses to
configure the WebSocketCoreClient

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-07 10:27:50 +11:00
Lachlan Roberts 16fa1133d7 Issue #3406 - enabling all disabled tests in WebSocket
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-07 10:22:59 +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 ab304a096e avoid adding NULL UpgradeListeners to WebSocketClient
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-06 17:11:57 +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 1160a8d08f Issue #3106 - turn auto fragment off for WebSocketStatsTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-06 10:27:02 +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
Greg Wilkins ec28eb6ddd
Merge pull request #3414 from lachlan-roberts/jetty-10.0.x-UpgradeListener
add support for WebSocket UpgradeListeners in WebSocketClient
2019-03-05 09:57:55 +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
Joakim Erdfelt 438042e28b
Merge pull request #3418 from eclipse/jetty-9.4.x-3401-websocket-permessage-deflate-rsv1
Issue #3159 - Ensuring we follow permessage-deflate RSV1 rules in RFC7692
2019-03-04 09:26:47 -05:00
Joakim Erdfelt 6444446652 Issue #3159 - Ensuring we follow permessage-deflate RSV1 rules in RFC7692
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-01 16:56:29 -05:00
Joakim Erdfelt 160842805b Issue #3389 - Fixing testcase expectation
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-01 15:44:42 -05:00
Joakim Erdfelt 3bc3d7514d Issue #3389 - missing willDecode calls in javax.websocket
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-01 14:12:21 -05:00
lachan-roberts ddb75984d1 add support for WebSocket UpgradeListeners for jetty WebSocketClient
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-01 18:34:07 +11: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
Joakim Erdfelt 234d3e224b Adding missing ClientWriteThread
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-02-28 08:47:36 -05:00
Joakim Erdfelt d791b3631d Merge branch 'jetty-10.0.x' of github.com:eclipse/jetty.project into jetty-10.0.x 2019-02-28 08:27:18 -05:00
Joakim Erdfelt ddc904f1f6 Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	VERSION.txt
#	aggregates/jetty-all-compact3/pom.xml
#	aggregates/jetty-all/pom.xml
#	apache-jsp/pom.xml
#	apache-jstl/pom.xml
#	examples/async-rest/async-rest-jar/pom.xml
#	examples/async-rest/async-rest-webapp/pom.xml
#	examples/async-rest/pom.xml
#	examples/embedded/pom.xml
#	examples/pom.xml
#	jetty-alpn/jetty-alpn-client/pom.xml
#	jetty-alpn/jetty-alpn-conscrypt-client/pom.xml
#	jetty-alpn/jetty-alpn-conscrypt-server/pom.xml
#	jetty-alpn/jetty-alpn-java-client/pom.xml
#	jetty-alpn/jetty-alpn-java-server/pom.xml
#	jetty-alpn/jetty-alpn-openjdk8-client/pom.xml
#	jetty-alpn/jetty-alpn-openjdk8-server/pom.xml
#	jetty-alpn/jetty-alpn-server/pom.xml
#	jetty-alpn/pom.xml
#	jetty-annotations/pom.xml
#	jetty-ant/pom.xml
#	jetty-bom/pom.xml
#	jetty-cdi/cdi-2/pom.xml
#	jetty-cdi/cdi-core/pom.xml
#	jetty-cdi/cdi-full-servlet/pom.xml
#	jetty-cdi/cdi-servlet/pom.xml
#	jetty-cdi/cdi-websocket/pom.xml
#	jetty-cdi/pom.xml
#	jetty-cdi/test-cdi-webapp/pom.xml
#	jetty-client/pom.xml
#	jetty-continuation/pom.xml
#	jetty-deploy/pom.xml
#	jetty-distribution/pom.xml
#	jetty-documentation/pom.xml
#	jetty-fcgi/fcgi-client/pom.xml
#	jetty-fcgi/fcgi-server/pom.xml
#	jetty-fcgi/pom.xml
#	jetty-gcloud/jetty-gcloud-session-manager/pom.xml
#	jetty-gcloud/pom.xml
#	jetty-hazelcast/pom.xml
#	jetty-home/pom.xml
#	jetty-http-spi/pom.xml
#	jetty-http/pom.xml
#	jetty-http2/http2-alpn-tests/pom.xml
#	jetty-http2/http2-client/pom.xml
#	jetty-http2/http2-common/pom.xml
#	jetty-http2/http2-hpack/pom.xml
#	jetty-http2/http2-http-client-transport/pom.xml
#	jetty-http2/http2-server/pom.xml
#	jetty-http2/pom.xml
#	jetty-infinispan/pom.xml
#	jetty-io/pom.xml
#	jetty-jaas/pom.xml
#	jetty-jaspi/pom.xml
#	jetty-jmh/pom.xml
#	jetty-jmh/src/main/java/org/eclipse/jetty/http/jmh/MultiPartBenchmark.java
#	jetty-jmx/pom.xml
#	jetty-jndi/pom.xml
#	jetty-jspc-maven-plugin/pom.xml
#	jetty-maven-plugin/pom.xml
#	jetty-memcached/jetty-memcached-sessions/pom.xml
#	jetty-memcached/pom.xml
#	jetty-nosql/pom.xml
#	jetty-osgi/jetty-osgi-alpn/pom.xml
#	jetty-osgi/jetty-osgi-boot-jsp/pom.xml
#	jetty-osgi/jetty-osgi-boot-warurl/pom.xml
#	jetty-osgi/jetty-osgi-boot/pom.xml
#	jetty-osgi/jetty-osgi-httpservice/pom.xml
#	jetty-osgi/pom.xml
#	jetty-osgi/test-jetty-osgi-context/pom.xml
#	jetty-osgi/test-jetty-osgi-fragment/pom.xml
#	jetty-osgi/test-jetty-osgi-server/pom.xml
#	jetty-osgi/test-jetty-osgi-webapp/pom.xml
#	jetty-osgi/test-jetty-osgi/pom.xml
#	jetty-plus/pom.xml
#	jetty-proxy/pom.xml
#	jetty-quickstart/pom.xml
#	jetty-rewrite/pom.xml
#	jetty-runner/pom.xml
#	jetty-security/pom.xml
#	jetty-server/pom.xml
#	jetty-servlet/pom.xml
#	jetty-servlets/pom.xml
#	jetty-spring/pom.xml
#	jetty-start/pom.xml
#	jetty-unixsocket/pom.xml
#	jetty-util-ajax/pom.xml
#	jetty-util/pom.xml
#	jetty-webapp/pom.xml
#	jetty-websocket/javax-websocket-client-impl/pom.xml
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/AbstractJsrRemote.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/ClientContainer.java
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrCallable.java
#	jetty-websocket/javax-websocket-server-impl/pom.xml
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/OnPartialTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionTrackingTest.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/echo/ConfiguredEchoSocket.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/echo/LargeEchoAnnotatedSocket.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/echo/LargeEchoConfiguredSocket.java
#	jetty-websocket/jetty-websocket-tests/pom.xml
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/CloseTrackingEndpoint.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/BadNetworkTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientCloseTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientOpenSessionTracker.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientSessionsTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientWriteThread.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/SlowClientTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ContainerEndpoint.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerCloseCreator.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerCloseTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/SlowServerTest.java
#	jetty-websocket/jetty-websocket-tests/src/test/resources/jetty-logging.properties
#	jetty-websocket/pom.xml
#	jetty-websocket/websocket-api/pom.xml
#	jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/StatusCode.java
#	jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/WriteCallback.java
#	jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/extensions/IncomingFrames.java
#	jetty-websocket/websocket-client/pom.xml
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketUpgradeRequest.java
#	jetty-websocket/websocket-client/src/test/resources/jetty-logging.properties
#	jetty-websocket/websocket-common/pom.xml
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/LogicalConnection.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/Parser.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpoint.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/AbstractEventDriver.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/EventDriver.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedEventDriver.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/AbstractExtension.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStack.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/identity/IdentityExtension.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/AbstractWebSocketConnection.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FrameFlusher.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FramePipes.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/scopes/DelegatedContainerScope.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/scopes/SimpleContainerScope.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/scopes/WebSocketContainerScope.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ClosePayloadParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/GeneratorParserRoundtripTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/PingPayloadParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/RFC6455ExamplesParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/TextPayloadParserTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpointTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase1_1.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase1_2.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase2.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase7_3.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/DummyIncomingFrames.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateFrameExtensionTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/FrameFlusherTest.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/LocalWebSocketConnection.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/BlockheadClient.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/BlockheadConnection.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/DummyConnection.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/IncomingFramesCapture.java
#	jetty-websocket/websocket-server/pom.xml
#	jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/IdleTimeoutTest.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/SimpleServletServer.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketProtocolTest.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/ABSocket.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/examples/echo/BigEchoSocket.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/helper/RFCSocket.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/helper/SessionSocket.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/misbehaving/MisbehavingClassTest.java
#	jetty-websocket/websocket-server/src/test/resources/jetty-logging.properties
#	jetty-websocket/websocket-servlet/pom.xml
#	jetty-xml/pom.xml
#	pom.xml
#	tests/pom.xml
#	tests/test-continuation/pom.xml
#	tests/test-distribution/pom.xml
#	tests/test-http-client-transport/pom.xml
#	tests/test-integration/pom.xml
#	tests/test-jmx/jmx-webapp-it/pom.xml
#	tests/test-jmx/jmx-webapp/pom.xml
#	tests/test-jmx/pom.xml
#	tests/test-loginservice/pom.xml
#	tests/test-quickstart/pom.xml
#	tests/test-sessions/pom.xml
#	tests/test-sessions/test-file-sessions/pom.xml
#	tests/test-sessions/test-gcloud-sessions/pom.xml
#	tests/test-sessions/test-hazelcast-sessions/pom.xml
#	tests/test-sessions/test-infinispan-sessions/pom.xml
#	tests/test-sessions/test-infinispan-sessions/src/test/java/org/eclipse/jetty/server/session/ClusteredSessionScavengingTest.java
#	tests/test-sessions/test-jdbc-sessions/pom.xml
#	tests/test-sessions/test-memcached-sessions/pom.xml
#	tests/test-sessions/test-mongodb-sessions/pom.xml
#	tests/test-sessions/test-sessions-common/pom.xml
#	tests/test-webapps/pom.xml
#	tests/test-webapps/test-http2-webapp/pom.xml
#	tests/test-webapps/test-jaas-webapp/pom.xml
#	tests/test-webapps/test-jetty-webapp/pom.xml
#	tests/test-webapps/test-jndi-webapp/pom.xml
#	tests/test-webapps/test-mock-resources/pom.xml
#	tests/test-webapps/test-proxy-webapp/pom.xml
#	tests/test-webapps/test-servlet-spec/pom.xml
#	tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml
#	tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml
#	tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml
#	tests/test-webapps/test-simple-webapp/pom.xml
#	tests/test-webapps/test-webapp-rfc2616/pom.xml
2019-02-28 08:26:58 -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
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 3525c403a5 Disabling old test
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-02-27 17:24:36 -05: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
Simone Bordet 3a7dee0e18
Merge pull request #3384 from lachlan-roberts/jetty-10.0.x-3165-javax-websocket-server-tests
Issue #3165 use add-exports instead of add-opens in javax WS-Server pom
2019-02-22 08:54:41 +01:00
lachan-roberts 037d8b9059 Issue #3165 use add-exports instead of add-opens in javax WS-Server pom
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-02-22 14:19:37 +11:00