Commit Graph

157 Commits

Author SHA1 Message Date
Lachlan Roberts bb8e5557d2 fix flaky test ClientCloseTest.testWriteException
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-01 07:58:24 +02:00
Joakim Erdfelt c33f3a75ed Merge branch `release-9.4.18` into `jetty-9.4.x` 2019-04-30 11:44:06 -05:00
Greg Wilkins d84a4efde5 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-04-30 13:46:59 +02:00
Lachlan Roberts 8ddcf3685b Issue #3608 - give 400 error response for missing Sec-WebSocket-Key
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-30 15:11:51 +04:00
Joakim Erdfelt 734be56938 Updating to version 9.4.19-SNAPSHOT 2019-04-29 16:27:23 -05:00
Joakim Erdfelt e1bc35120a Updating to version 9.4.18.v20190429 2019-04-29 15:40:33 -05:00
lachan-roberts 8360aad619 remove exception stack traces and prints from websocket tests
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-04-29 13:51:18 +04:00
Joakim Erdfelt 29b960551f Merge branch `release-9.4.17` into `jetty-9.4.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	jetty-bom/pom.xml
2019-04-25 09:15:42 -05:00
Joakim Erdfelt 13992d96e4
Merge pull request #3557 from lachlan-roberts/jetty-9.4.x-3476-websocket-concurrent-connect
Issue #3476 - previous WebSocketSessions being added to new connections
2019-04-25 06:55:00 -07:00
Lachlan Roberts 15d4659cc0 demand before succeeding callback in JettyWebSocketFrameHandler
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-25 17:03:23 +04:00
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 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 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
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
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
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 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 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
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
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
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 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
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
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 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 59ec0da768 Issue #3406 - fix jetty websocket tests
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-07 10:52:03 +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
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 46c2941a82 Issue #3106 - implement WebSocketConnection stats
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-06 10:27:02 +11: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 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
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
Joakim Erdfelt 9cdb59d4d7 Updating to version 9.4.16-SNAPSHOT 2019-02-15 13:35:15 -05:00
Joakim Erdfelt eb70b24016 Updating to version 9.4.15.v20190215 2019-02-15 11:53:00 -05:00
Joakim Erdfelt 8dba440317 Issue #3279 - WebSocket Close Refactoring
+ FrameFlusher "close" frames are detected during
  enqueue and sets the state properly for failing
  other frames after it
+ Moving away from Blockhead(Client|Server) to using actual implementations
+ Moved tests to /jetty-websocket-tests/ to be able to use actual impl
  for both sides of testcase (client and server)
+ Corrected FrameFlusher terminate/close to not fail the close frame
  itself, but only frames that arrive AFTER the close frame.
+ Moving WebSocketCloseTest to jetty-websocket-tests to avoid
  using BlockheadClient / BlockheadServer in testing
+ Cleanup of unnecessary modifiers on interface
+ Logging error if @OnWebSocketError is undeclared
+ IOState removed
+ New ConnectionState tracks connection basics in a simpler
  method then IOState did.
+ No tracking of Remote close initiated (not needed)
+ IncomingFrames.incomingError() removed
+ Session delegates to Connection for all state changes
+ Errors can be communicated to application multiple times
+ Close is only communicated once

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-02-15 10:07:24 -05:00
Simone Bordet cd488c2d7d Merged branch 'jetty-10.0.x' into 'jetty-10.0.x-3162_jetty_servlet_api'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-04 23:11:32 +01:00
Simone Bordet 33f314e9f5 Issue #3162 - Use Jetty specific Servlet API jar.
Updated to jetty-servlet-api:4.0.1, based on javax.servlet 4.0.1.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-04 18:51:51 +01:00
Lachlan Roberts bfcb890ab2 Issue #3298 - rename typo in JettyWebSocketTest name
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-04 15:05:15 +11:00
Lachlan Roberts 77b7e275cc Issue #3298 - fix to pom file
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-04 14:54:27 +11:00
Lachlan Roberts 6a98cc0bd2 Issue #3298 - bug fixes for jetty websockets
succeed callback when you do not have a message sink

OnWebSocketFrame annotation should take an API frame not a core frame

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-31 22:24:09 +11:00
Lachlan Roberts 8c5d421b5b remove unnecessary imports in jetty-websocket-tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-29 12:03:53 +11:00
Lachlan Roberts 402d756ea5 rename websocket-tests module to jetty-websocket-tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-29 10:29:38 +11:00