Commit Graph

3281 Commits

Author SHA1 Message Date
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
Simone Bordet 3af45f4c89
Merge pull request #3665 from eclipse/jetty-9.4.x-3663-remove-deps-in-wsclient-with-httpclient
Issue #3663 - Remove @Deprecation's from WebSocketClient
2019-05-20 10:55:43 +02:00
Michael Hausegger 5760795f96 Corrected license header information
Signed-off-by: Michael Hausegger <hausegger.michael@googlemail.com>
2019-05-17 14:26:58 +02:00
Michael Hausegger d4ffef3de7 Added tests for UpgradeResponseAdapter
Signed-off-by: Michael Hausegger <hausegger.michael@googlemail.com>
2019-05-17 14:26:58 +02: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
Joakim Erdfelt 0eb90e41d1 Issue #3663 - Remove @Deprecation's from WebSocketClient
+ Those methods and constructors that had @Deprecation assigned
  that urged the use of HttpClient directly are no longer
  annotated as deprecated because of legitimate possibility of
  a valid LinkageError

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-05-16 09:48:28 -05:00
Michael Hausegger 4f90eb6533 Added Unit Tests to increase code coverage.
Signed-off-by: Michael Hausegger <hausegger.michael@googlemail.com>
2019-05-16 08:25:34 +02:00
Lachlan Roberts c40a303e2c allow live configuration of maxMessageSizes on JettyWebSocketSession
and set the configuration on supplied CoreClient to the Javax client container

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-16 15:50:20 +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 455cc3d2e2 improvements to the jetty-websocket configuration testing
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-16 15:43:22 +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 7ba77c0be4 add tests for jetty-websocket client configuration
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-16 15:37:46 +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
Joakim Erdfelt b44ecc932a Issue #2909 - Replace B64Code with java.util.Base64
+ Deprecated B64Code
+ All code that isn't B64CodeTest is now using java.util.Base64
+ B64CodeTest is updated to confirm change to java.util.Base64
  is possible without change in behavior. Just have to make
  sure you use the appropriate Encoder / Decoder for the task
  at hand (default vs mime vs url)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-05-15 10:08:11 +02:00
Joakim Erdfelt 45a5b9c8b9 Adding TLS mode to websocket BrowserDebugTool.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-05-13 11:13:59 -05:00
Simone Bordet c578798370 Fixes #3197 - Use jetty specific websocket API jar.
Introduced jetty-javax-websocket-api artifact with proper
OSGi manifest entries and JPMS Automatic-Module-Name.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-05-10 19:33:12 +02:00
Joakim Erdfelt 54d8faf664 Updating WebSocket Examples seen in documentation
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-05-10 09:08:59 -05: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
lachan-roberts cb50d6f9aa Issue #3498 - fix suspend implementation to suspend WebSocket frames
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-05-08 12:28:29 +10:00
Joakim Erdfelt a305660c54 Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	jetty-server/src/main/config/etc/jetty-ssl-context.xml
#	jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/ClientContainer.java
#	jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/ServerContainer.java
#	jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java
#	jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java
2019-05-07 13:54:27 -05:00
lachan-roberts b6d6c83bf1 Issue #3382 - changes from review
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-05-07 09:26:36 +02:00
lachan-roberts ec88316116 Issue #3382 - improve testing for WS suspend and fix demand on resume
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-05-07 09:26:36 +02:00
lachan-roberts 7c7932a475 Issue #3498 - improve testing for websocket suspend
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-05-07 11:00:32 +10: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
Joakim Erdfelt 9d159318f5 Issue #3616 - Backport of SessionTracker from Jetty 10.0.x
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-05-01 10:47:08 -05:00
Joakim Erdfelt 205c4dc498
Merge pull request #3612 from eclipse/jetty-9.4.x-update-test-helper
Update testing
2019-05-01 05:40:24 -07:00
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 41ab9baf8c Standardizing on hamcrest Matchers (not CoreMatchers from junit4)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-04-30 14:39:57 -05:00
Joakim Erdfelt df716e1b23 Migrating away from junit5 deprecated isIn() to is(in())
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-04-30 12:33:28 -05: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 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 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
Joakim Erdfelt 5882d63ba7 Updating to version 9.3.28-SNAPSHOT 2019-04-18 13:54:17 -05:00
Joakim Erdfelt d3e249f869 Updating to version 9.3.27.v20190418 2019-04-18 13:10:03 -05:00
Joakim Erdfelt 2c14d93885 Updating to version 9.2.29-SNAPSHOT 2019-04-18 12:17:07 -05:00
Joakim Erdfelt 1dffa36fe3 Updating to version 9.2.28.v20190418 2019-04-18 11:23:17 -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
bkmz e41906fbdb Bug and build fixes:
- Fixes deflater/inflater pool validation
- Removes validation tests of Flators for pool
- Eroding pool usage; fixes cleanup of Deflaters

Signed-off-by: bkmz <ilya.cherkasov@gmail.com>
2019-04-07 21:23:31 +03: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
Joakim Erdfelt 9b19374c5d Updating to version 9.2.28-SNAPSHOT 2019-04-03 19:38:05 -05:00
Joakim Erdfelt 84dfe74b97 Updating to version 9.2.27.v20190403 2019-04-03 19:04:45 -05:00
Joakim Erdfelt c70034766e Updating to version 9.3.27-SNAPSHOT 2019-04-03 18:46:31 -05:00
Joakim Erdfelt dae476e369 Updating to version 9.3.26.v20190403 2019-04-03 18:16:32 -05:00
Joakim Erdfelt 2ccde9772b Undoing bad release-9.3.26 2019-04-03 18:11:16 -05:00
Simone Bordet ec273b7cf0 Fixes after merge.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-04-03 19:13:19 +02:00
bkmz c14bf735a2 Compression pool for PermessageDeflate extensions for websockets
- Implements Compression Pool (based on apache Commons Pool)
- Implements Inflater Pool
- Plugs Compression Pools usage in Permessage-Deflate

Signed-off-by: bkmz <ilya.cherkasov@gmail.com>
2019-04-03 12:13:00 +03:00
Greg Wilkins 9f4b3542cb Updating to version 9.3.27-SNAPSHOT 2019-04-03 17:32:08 +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
Greg Wilkins 7ec6d2fb32 Updating to version 9.3.26.v20190403 2019-04-03 13:06:51 +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 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 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
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 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 bd50e2941c Issue #3170 - changes from review
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-02-22 16:36:19 +11: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
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
Joakim Erdfelt 0f4294e95a Issue #3380 - Adding configured Connection.Listeners to WebSocket Connections
Signed-off-by: Joakim Erdfelt <joakim@erdfelt.com>
2019-02-21 10:05:36 -05:00
lachan-roberts 58c0808f19 Issue #3165 - fix to javax-websocket-server module issues
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-02-20 15:15:12 +11:00
Lachlan Roberts 4378f5d08e Issue #3165 - Configure the HttpClient via XmlHttpClientProvider
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-19 11:30:30 +11:00
Lachlan Roberts 1e93a46eed Issue #3165 - added test for examples in javax-websocket-server
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-19 11:29:10 +11:00
Lachlan Roberts beff8a208e Issue #3165 - rearrange packages for javax-websocket-server tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-19 11:28:37 +11:00
Lachlan Roberts 3e33b35d82 Issue #3170 - WebSocketProxy cleanup
removing old versions of the proxy frame handler
adding licence headers

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-19 09:38:28 +11:00
Lachlan Roberts 4aa52c2f43 Issue #3170 - Improved testing for WebSocketProxy
- Added test cases to test failures in and around the WebSocketProxy
and how it handles them.

- In WebSocketChannel.sendFrame() we were using a null cause for
closeConnection, we are now extracting the cause from the
AbnormalCloseStatus. This was resulting in onError not being called
when there was actually an error and an AbnormalCloseStatus.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-19 09:29:28 +11:00
Lachlan Roberts 001bc8f296 Issue #3170 - WebSocketProxy separate actions from the state changes
only do state changes inside synchronized blocks, remember what action
to do and only do this outside of the synchronized block

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-19 09:29:28 +11:00
Lachlan Roberts ace5e7bbe2 Issue #3170 - Redesign on the WebSocketProxy
- Redesigned the proxy into a new class called WebSocketProxy containing
a Client2Proxy FrameHandler and a Server2Proxy FrameHandler

- WebSocketProxy uses synchronized blocks with an enum state instead
of the previous compare and sets

- Created a new test similar to ProxyFrameHandlerTest to test the new
WebSocketProxy

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-19 09:29:28 +11:00
Lachlan Roberts bace5cf82c Issue #3170 - ProxyFrameHandler race between onOpen and onError
- Introduced an EMPTY_SESSION in the ProxyFrameHandler as a terminal
state to know whether a FailedCoreSession has been handled

- Use while(true) loops to do the compareAndSet in ProxyFrameHandler

- Improved the tests for the proxy so that it tests the frames received
at every state (ie Client Proxy and Server)

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-19 09:29:28 +11:00
Lachlan Roberts bc3df4fd28 Issue #3170 - stop WebSocketCoreClient on close or failure
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-19 09:29:28 +11:00
Lachlan Roberts 55f82ceeec Issue #3170 - WebSocket Proxy handle error and failure conditions
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-19 09:29:28 +11:00
Lachlan Roberts c1e3e57f03 Issue #3170 - WebSocket Proxy PoC
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-19 09:29:28 +11:00
Simone Bordet 83b53f102c
Merge pull request #3336 from eclipse/jetty-10.0.x-3290-websocket-close
Jetty 10.0.x #3290 websocket close
2019-02-18 10:49:33 +01:00
Simone Bordet 85bc84b122 Issue #3341 - XmlHttpClientProvider
Updated comment referencing old class name.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-18 10:40:32 +01:00
Simone Bordet 42290828a6
Merge pull request #3357 from lachlan-roberts/jetty-10.0.x-3341-HttpClientProvider
Issue #3341 - WebSocket HttpClientProvider
2019-02-18 10:37:08 +01:00
Greg Wilkins c14df16494
Merge pull request #3335 from lachlan-roberts/jetty-10.0.x-3290-websocket-close
Issue #3290 - FrameFlusher and WebSocket close fixes
2019-02-18 07:30:19 +09:00
Greg Wilkins a4a6bd03e7
Fix from review
use the new close(Throwable) in endpoint
2019-02-17 18:11:23 +09: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
Lachlan Roberts d8b5f0e1b3 Issue #3341 - HttpClientProvider changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-15 18:31:53 +11:00
Lachlan Roberts 149620598d Issue #3341 - change HttpClientProvider to interface
- HttpClientProvider is now an interface which defines a default method
newHttpClient, its static get() method get will attempt to use the
XmlHttpClientProvider to create a client, and if this fails to give a
non null client it will be created with the default newHttpClient method

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-14 16:13:43 +11:00
Lachlan Roberts c6fd7a616f Issue #3341 - Use HttpClientProvider in WebSocketCoreClient
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-14 12:19:00 +11:00
Simone Bordet 6aa917080f Issue #3347 - Fix race condition between onFillable() and resume().
Renamed Suspender -> ReadState.
Reworked the implementation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-12 16:15:07 +01:00
Shawn Smith e16e836aa6 Fix race condition between onFillable() and resume()
Signed-off-by: Shawn Smith <shawn@thena.net>
2019-02-11 18:08:53 -06:00
Simone Bordet b9f89af847 Fixes #3320 - Review Jetty 10 module-info.java.
Reviewed module-info.java files.
For those that have a "requires static" added a comment about
why the dependency is optional.
Rearranged directives in alphabetical order.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-08 17:30:27 +01:00
Simone Bordet 6f7e1e3c48 Fixes #3333 - Jetty 10 standalone cannot start on the module-path.
Added --add-modules=ALL-MODULE-PATH by default because now Jetty has
proper JPMS modules and when starting in standalone mode only the
org.eclipse.jetty.xml module will be in the module graph - while
before automatic modules where added to the module graph implicitly.

Added --add-reads=ALL-UNNAMED to the websocket module to allow the
websocket implementation to access method handles of application
classes (the websocket endpoints) that live in the web application
classloader (which forms an unnamed module).

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-07 17:48:17 +01:00
Greg Wilkins 3d096c9e99 Merge branch 'jetty-10.0.x-3290-websocket-close' of https://github.com/lachlan-roberts/jetty.project into jetty-10.0.x-3290-websocket-close
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-02-07 14:17:25 +11:00
Lachlan Roberts c86bf2e57f Issue #3290 - review changes, javadoc and todos
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-07 14:09:23 +11:00
Greg Wilkins 11dfe70fc2 Add a Throwable case to EndPoint and Connection onClose notifications
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-02-07 11:55:40 +11:00
Lachlan Roberts 1709c90286 Issue #3290 - fixing issues with WebSocketClose
introduce channelState check in the catch in WSChannel sendFrame
to guard from multiple closes

WebSocketConnection fillAndParse will now try to read until EOF

removed state change in the isOutputOpen check in webSocketChannelState
to as we do the state change in the catch block in WSChannel

added and improved WebSocketCloseTest to test more cases

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-07 09:58:43 +11:00
Lachlan Roberts ff1f3ca3be Issue #3290 - WebSocket read and writer error handling
when the WSConnection reads EOF it now notifies the WSChannel
the channel instead of handling it locally

fixed FlusherFlusher failure issues

fixed issue with the WebSocketCloseTest expecting close reason

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-07 09:58:08 +11: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
Simone Bordet 88408375ab Issue #3049 - Warn on common SslContextFactory problematic configurations.
Updating SslContextFactory configuration for tests, since
the change in the default endPointIdentificationAlgorithm
makes the test failing as the certificates are not valid
for the local host, which is different depending on where
the tests are run (locally, jenkins).

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-01-31 15:31:35 +01: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 bd4f9b30fc Issue #3298 - cleanup of CompletableFutures for WebSocket upgrades
Jetty and Javax ClientUpgradeRequests no longer use the combination of
the the onOpenFuture and the futureCoreSession and instead use only
the CompletableFuture future given to the FrameHandler onOpen

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-31 11:13:05 +11:00
Joakim Erdfelt c30c8d4339 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3162_jetty_servlet_api
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	jetty-client/pom.xml
#	jetty-http/pom.xml
#	jetty-http2/http2-client/pom.xml
#	jetty-http2/http2-http-client-transport/pom.xml
#	jetty-http2/http2-server/pom.xml
#	jetty-osgi/test-jetty-osgi/pom.xml
#	jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty-with-custom-class.xml
#	jetty-osgi/test-jetty-osgi/src/test/config/etc/jetty.xml
#	jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootHTTP2Conscrypt.java
#	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/TestJettyOSGiBootWithJavaxWebSocket.java
#	jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootWithWebSocket.java
#	jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestOSGiUtil.java
#	jetty-quickstart/pom.xml
#	jetty-servlets/pom.xml
#	jetty-util/pom.xml
#	jetty-websocket/javax-websocket-client/pom.xml
#	jetty-websocket/javax-websocket-server/pom.xml
#	jetty-websocket/jetty-websocket-server/pom.xml
#	pom.xml
2019-01-30 11:56:58 -06:00
Lachlan Roberts 684dcd1693 Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-3298-completableFutures 2019-01-30 15:00:01 +11:00
Lachlan Roberts 78dc801153 WebSocketMapping Refactor - add javadoc for WebSocketComponents
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-30 14:02:50 +11:00
Lachlan Roberts deaaa0bf30 Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-websocketmapping-refactor 2019-01-30 13:49:10 +11:00
Lachlan Roberts b4bd5980aa Issue #3298 - Refactor of upgrade request class names
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-30 10:00:56 +11:00
Lachlan Roberts b0aec2b26e fix bug in WebSocketMapping failing isInstance test
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-29 15:26:16 +11:00
Greg Wilkins f5751618bd Issue #3290 async onOpen, onClose and onError
Fixed OSGi tests.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-29 13:08:35 +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
Greg Wilkins cf0eaecbdc Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3290-websocket-onOpen
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-29 10:59:08 +11:00
Greg Wilkins 1d9e7b7613
Merge pull request #3199 from lachlan-roberts/jetty-10.0.x-3139-npe-websocket-sci
Issue #3139 - NPE in WebSocketContainerInitializer for jetty10
2019-01-29 10:56:59 +11:00
Greg Wilkins 3ad584eaef Issue #3290 async onOpen, onClose and onError
Changes after review:
 + failure to send abnormal close closes connection prior to failing
   callback.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-29 10:45:54 +11:00
Greg Wilkins 6f7395c8f0 Issue #3290 async onOpen, onClose and onError
Changes after review:
 + fixed import order

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-29 10:38:12 +11:00
Greg Wilkins 84d74ba1de Issue #3290 async onOpen, onClose and onError
Changes after review:
 + removed Adaptor from FrameHandler, so all non test usages of
   FrameHandler now use async API.
 + Fixed sequencing of multiple async operation so callback is notified
   after completion (created more Callback.from utilities for this)
 + fixed import order

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-29 10:33:37 +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
Greg Wilkins 1171d7c8d7 Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3290-websocket-onOpen 2019-01-26 18:16:30 +11:00
Greg Wilkins 8b93922d08 Issue #3290 async onOpen, onClose and onError
Gave onOpen, onError and onClose callback signatures
Illegal to ask for demand prior to onOpen success
added tests for various onOpen scenarios

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-26 15:34:50 +11:00
Lachlan Roberts aa1d6ff9cd WebSocketMapping refactor changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-25 17:11:27 +11:00
Lachlan Roberts a8a5e50579 Issue #3139 ContextHandler must be set on server before configureContext
If configure context is called with a context that does not yet have
a server, we should just throw an ISE. This is better than having a
different configuration result depending on if the context has been set
been added to the handler tree or not.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-25 17:05:26 +11:00
Olivier Lamy 6145fd7468
Issue #3166 add autobahn testsuite running via autobahn maven plugin (#3292)
Issue #3166 Add autobahn profile to automatically run autobahn test suite in Jenkins
2019-01-25 15:10:24 +10:00
Lachlan Roberts 0c85b3138f rename of WebSocketResources to WebSocketComponents
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-25 11:57:03 +11:00
Lachlan Roberts b2f2a16aed Merge branch 'jetty-10.0.x-websocketmapping-refactor' of https://github.com/lachlan-roberts/jetty.project into jetty-10.0.x-websocketmapping-refactor 2019-01-25 11:38:40 +11:00
Lachlan Roberts ececab10ca Issue #3139 - NPE in WebSocketContainerInitializer for jetty10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-24 17:18:29 +11:00
Lachlan Roberts e98809c990 javax WebSocketMappings now stored in ContextHandler attributes
WebSocketMappings are now stored as attributes in the ContextHandler

init params can be set on the filterHolder to specify what mapping
should be used

the default mapping is stored with attribute key
WebSocketMapping.DEFAULT_KEY and ensureFilter now doesn't ensure there
is an UpgradeFilter registered at "/*" but checks that there is an
UpgradeFilter using the default mapping

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-24 15:10:13 +11:00
Lachlan Roberts 1c999a1794 added missing licence headers
fixed todo with default WebSocketUpgradeFilter path mapping

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-24 11:50:25 +11:00
Greg Wilkins 330a3e7f58 simple onOpen test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-24 10:34:14 +11:00
Greg Wilkins f170191003 Fix problems with close unit tests before creating open unit tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-24 10:12:36 +11:00
Greg Wilkins 5f20651d06 Issue #3290 websocket onOpen states
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-24 09:48:30 +11:00
Joakim Erdfelt 5095c8a7b2 Issue #3288 - Correcting Jetty WebSocket API artifactIds
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-01-23 15:58:11 -06:00
Lachlan Roberts d37dfd4357 Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-websocketmapping-refactor
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-23 18:45:59 +11:00
Lachlan Roberts 90003dee13 Issue #3182 - restored old websocket example files
added new test for these example files

added register and setCreator methods in WebSocketServlet to
give more compatibility with old api

implemented isUserInRole in UpgradeHttpServletRequest to get
example working

made the JettyWebSocketTest more clear

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-23 18:43:54 +11:00
Lachlan Roberts b06601e5f1 disable checks for duplicate websocket mappings
throwing on adding of a duplicate websocket mapping causes problems
in EndpointViaConfigTest where we can add mappings even if they have
already been discovered by annotation

added a todo to review why we can't implement this check

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-23 10:18:42 +11:00
Greg Wilkins d520ae5a11 Issue #2175 cleanups after review
Re implemented a queue and flusher above extension stack to serialize
frame handling without holding a lock when calling callbacks

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-23 09:06:27 +11:00
Greg Wilkins 3d7ee93112 Issue #2175 cleanups after review
Re implemented a queue and flusher above extension stack to serialize
frame handling without holding a lock when calling callbacks

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-23 08:49:55 +11:00
Greg Wilkins d598e0dc6f Issue #2175 cleanups after review
Improve ws error handling by splitting processError into handling for
errors from the network and errors from the application.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-22 21:20:01 +11:00
Lachlan Roberts 74a5cfa190 remove the word default from all WebSocketServletFactory methods
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-22 18:32:14 +11:00
Lachlan Roberts 15c6f5250d do not set WebSocketMapping in WSUpgradeFilter if already set
the WSUpgradeFilter now has to be registered at "/" or "/*"

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-22 18:17:33 +11:00
Lachlan Roberts 3c2f728574 move check for duplicate mappings to WebSocketMapping class
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-22 18:08:31 +11:00
Greg Wilkins 7fec51ad40 Issue #2175 cleanups after review
Improve ws error handling by splitting processError into handling for
errors from the network and errors from the application.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-22 15:41:46 +11:00
Greg Wilkins 1189ceed4c Issue #2175 cleanups after review
Improve ws error handling by splitting processError into handling for
errors from the network and errors from the application.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-22 13:36:09 +11:00
Greg Wilkins 05dfbd18cd Issue #2175 cleanups after review
Improve ws error handling by splitting processError into handling for
errors from the network and errors from the application.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-22 13:25:29 +11:00
Lachlan Roberts 4008005a0e Jetty WebSockets no longer use shared mapping
mapping is now created for each WebSocketServlet

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-22 11:55:18 +11:00
Lachlan Roberts e1674cf4b6 separate out resources from the WebSocketMapping
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-22 11:39:53 +11:00
Greg Wilkins f9b9cc1313 Issue #2175 cleanups after review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-22 09:11:05 +11:00
Lachlan Roberts 2ab6f3d66f added sharedresources
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-21 21:14:22 +11:00
Lachlan Roberts 0f2f1c1e92 new websocket-tests module
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-18 16:39:26 +11:00
Lachlan Roberts 51feef6dcf javax websocket bug fixes, for duplicate mappings, and null messageSinks
dont allow duplicate mappings to be added to websocket mapping for javax

succeed the callback in JavaxWebSocketFrameHandler with null messageSink

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-18 15:19:54 +11:00
Lachlan Roberts bc951030ba cleanup the isEnabledViaContext check in JavaxWebSocket SCI
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-17 12:27:42 +11:00
Greg Wilkins f16789b101 Issue #3167 cleanups after merge (in #2175)
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-16 15:19:36 +11:00
Greg Wilkins be69351f0e Merge branch 'jetty-10.0.x-3167-websocket-mapping' into jetty-10.0.x-3167-2175-websocket-close
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-15 18:02:41 +11:00
Greg Wilkins 4a70d1534e Merge branch 'jetty-10.0.x' into jetty-10.0.x-3167-websocket-mapping
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-15 17:59:09 +11:00
Greg Wilkins 5307f49bbc
Merge pull request #3259 from lachlan-roberts/jetty-10.0.x-websocket-tests
Issue #3246 - javax-websocket-tests exception stacktraces
2019-01-15 17:56:08 +11:00
Greg Wilkins c84f97e983 Issue #3246 Avoid concurrent raw write on fuzzer client
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-15 16:58:30 +11:00
Greg Wilkins 391f2b1a27 Merge branch 'jetty-10.0.x-3167-websocket-mapping' into jetty-10.0.x-3167-2175-websocket-close 2019-01-15 16:28:39 +11:00
Greg Wilkins 4f570b62e3 BrowserTool enhancements
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-15 16:28:01 +11:00
Greg Wilkins 12655a0944 Working BrowserDebugTool for jetty websocket API
Plus fixes for 10.0.x

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-15 15:54:09 +11:00
Greg Wilkins aedf17b020 Merge branch 'jetty-10.0.x-3167-websocket-mapping' into jetty-10.0.x-3167-2175-websocket-close 2019-01-15 14:13:55 +11:00
Greg Wilkins 30db9addbb fixed javadoc
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-15 14:13:13 +11:00
Greg Wilkins be3b155e32 fixed merge
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-15 14:01:25 +11:00
Greg Wilkins 878e51032d Merge branch 'jetty-10.0.x-3167-websocket-mapping' into jetty-10.0.x-3167-2175-websocket-close 2019-01-15 13:38:19 +11:00
Greg Wilkins e1daad1599 Merge branch 'jetty-10.0.x' into jetty-10.0.x-3167-websocket-mapping
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-15 13:31:11 +11:00
Greg Wilkins 3246d07ca9 Revert "Working BrowserDebugTool for jetty websocket API"
This reverts commit c320e020d2.
2019-01-15 13:14:53 +11:00
Lachlan Roberts 5d31612ec2 Merge remote-tracking branch 'eclipse/jetty-10.0.x-3167-2175-websocket-close' into jetty-10.0.x-3167-2175-websocket-close 2019-01-15 13:05:23 +11:00
Lachlan Roberts 63a1db39a0 Issue #3167 - simplification of WebSocketChannelState from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-15 11:58:39 +11:00
Greg Wilkins 664ddef6fd Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3167-websocket-mapping
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-15 09:44:53 +11:00
Greg Wilkins 39e6bff114 Issue #3167 cleanups from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-15 09:22:15 +11:00
Greg Wilkins 8802aebc1b Issue #3167 cleanups from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-15 09:19:55 +11:00
Greg Wilkins cd6964220f Issue #3167 cleanups from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-15 09:11:43 +11:00
Greg Wilkins 4bacaf21e4 Issue #3167 cleanups from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-15 09:04:20 +11:00
Joakim Erdfelt c320e020d2 Working BrowserDebugTool for jetty websocket API
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-01-14 10:13:59 -06:00
Greg Wilkins 149c28f463 Merge branch 'jetty-10.0.x-3167-websocket-mapping' into jetty-10.0.x-3167-2175-websocket-close 2019-01-12 14:39:01 +11:00
Greg Wilkins 5036893426 Issue #3167 cleanups from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-12 10:30:47 +11:00
Greg Wilkins 392412b2d0 Issue #3167 cleanups from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-12 10:26:09 +11:00
Greg Wilkins d89e797a1b Issue #3167 cleanups from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-12 10:06:59 +11:00
Greg Wilkins a7e2ead7bc Issue #3167 cleanups from review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-12 09:12:02 +11:00
Joakim Erdfelt 74df6bf1a9 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	jetty-maven-plugin/src/it/it-parent-pom/pom.xml
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ConfiguratorTest.java
#	jetty-websocket/javax-websocket-server/src/main/java/org/eclipse/jetty/websocket/javax/server/JavaxWebSocketServerContainerInitializer.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/io/AbstractWebSocketConnection.java
#	jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/core/AbstractExtension.java
#	jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/core/internal/ExtensionStack.java
#	jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/core/internal/FrameFlusher.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/browser/BrowserDebugTool.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/browser/BrowserSocket.java
#	jetty-websocket/websocket-server/src/test/resources/browser-debug-tool/index.html
#	jetty-websocket/websocket-server/src/test/resources/browser-debug-tool/websocket.js
2019-01-11 12:11:38 -06:00
Joakim Erdfelt aa7f3bd071
Merge pull request #3245 from eclipse/jetty-9.4.x-issue-3242-websocket-dump-cleanup
Issue #3242 - WebSocket dump cleanup
2019-01-11 11:59:06 -06:00
Joakim Erdfelt 1b7ae00be3 Issue #3242 - Post-review cleanup of AbstractWebSocketConnection dump of EndPoint
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-01-11 11:27:10 -06:00
Joakim Erdfelt 478e5ac593 Issue #3242 - Post-review cleanup of WebSocket dump
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-01-11 10:16:46 -06:00
Lachlan Roberts 1e4ac07511 Merge remote-tracking branch 'eclipse/jetty-10.0.x-3167-2175-websocket-close' into jetty-10.0.x-3167-2175-websocket-close
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-10 21:25:15 +11:00
Greg Wilkins 027e7ac959 Issue #3246 Avoid concurrent raw write on fuzzer client
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-10 18:57:38 +11:00
Lachlan Roberts 9a7e7bc999 Issue #3167 - Refactor of WebSocketChannelState
WebSocketChannelState now performs frame sequence checks and is called
on every outgoing and incoming frame, these checks return true to
indicate that the WebSocketChannel is fully closed

unrelated changes in

ExtensionStack:
succeeded() needed to be called instead of failed as explained
in the comment above the change

WebSocketClient:
removed duplication of the connect code by calling connect again
with a null UpgradeRequest

FrameFlusher:
improved the logging

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-10 18:53:52 +11:00
Greg Wilkins ce771070f6 removed extension queue #2175
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-10 16:31:50 +11:00
Greg Wilkins 9bd9133399 externalized flusher iteration #2175
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-10 16:05:29 +11:00
Greg Wilkins 4165c4507b Refactor websocket close for #2175
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-10 14:50:53 +11:00
Greg Wilkins 6ec615dc32 happy new year
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-10 08:47:31 +11:00
Greg Wilkins 9b0c8336ba Merge branch 'jetty-10.0.x' into jetty-10.0.x-3167-websocket-mapping
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-01-10 08:34:33 +11:00
Lachlan Roberts 40f1d5866f call succeeded() to drain the queue instead of calling failed() in the
ExtensionStack Flusher

documentation fix in WriteFlusher

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-09 16:19:55 +11:00
Lachlan Roberts c36d9bc3fc Issue #3246 - suppressed logging for stacktrace in IdleTimeoutTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-09 14:37:51 +11:00
Lachlan Roberts 19e2ab8a70 Issue #3246 - fix to DecoderReaderManySmallTest stacktrace being logged
succeed the callback in EventIdFrameHandler after sending responses in
DecoderReaderManySmallTest

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-01-09 14:32:37 +11:00
Joakim Erdfelt 020a980394
Merge pull request #3155 from eclipse/jetty-9.4.x-issue-3139-npe-websocket-sci
Fixes #3139 - NPE in WebSocketContainerInitializer
2019-01-08 15:57:35 -06:00
Joakim Erdfelt 689fab4979 Issue #3242 - Cleaning up WebSocket dump
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-01-08 15:47:49 -06:00
Joakim Erdfelt 0078d8aed6 Issue #3242 - Updating BrowserDebugTool to help troubleshoot issue
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-01-08 15:45:54 -06:00
olivier lamy 63f2023e05 happy new year!!
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-01-01 12:17:53 +10:00
Olivier Lamy 9b7afd8a03
Happy new year!! (#3232)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-01-01 11:52:16 +10:00
Greg Wilkins 729bf8299c Merge remote-tracking branch 'origin/jetty-10.0.x' into jetty-10.0.x-3167-websocket-mapping
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-23 13:51:01 +11:00
Greg Wilkins 9216d5ab63
Merge pull request #3224 from lachlan-roberts/jetty-10.0.x-3216-AutobahnWebSocketServerFailures
Issue #3216 - Autobahn WebSocketServer failures in jetty 10
2018-12-23 13:49:35 +11:00
Olivier Lamy f5eb4864cc
Issue #3166 Jetty 10.0.x autobahn test ci (#3221)
*  issue #3166 add autobahn test

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-12-22 21:16:23 +10:00
Greg Wilkins 8c7c5a5d01 Issue #3167 Improve websocket initialization
Improve on #3167 with major refactor of the context initialization of
websocket:
  + The Javax and Jetty sides are more symmetric - both use shared
    filter and mapping.
  + Regularised usage of beans rather than attributes for ws components
  + Customization is now part of the mapping, so ws are configured by
    how they were mapped and not by who does the upgrade.
  + Filter still can be configured to customize defaults
  + Servlet can be configured to customize any ws mappings added via the
    servlet

There is still some strangeness as the WebSocketServlet is mostly
generic, yet can only map Jetty API websockets.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-22 10:30:37 +11:00
Lachlan Roberts 164859fb9f Issue #3216 - Autobahn WebSocketServer failures in jetty 10
removed maxFrameSize from CompressExtension now use the
WebSocketChannel.getMaxFrameSize() to fix a bug where a change in the
WebSocketChanel maxFrameSize was not reaching the CompressExtension

create dummy WebSocketChannel in tests using CompressExtension without
a channel to replace the setter for maxFrameSize

increased the maxFrameSize in AutobahnWebSocketNegotiator to fix
autobahn tests being over maxFrameSize after being inflated

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-12-20 20:08:35 +11:00
Lachlan Roberts 3779b0384d Issue #3167 - add the WebSocketCoreClient factory as a bean
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-12-19 15:35:32 +11:00
Lachlan Roberts 3bcb4d8229 Issue #3167 - lazily create the WebSocketCoreClient
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-12-18 17:19:55 +11:00
Greg Wilkins 1176b267b5 removed -impl from websocket name and fixed SCI
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-13 10:05:10 +11:00
Greg Wilkins 52d0d62594 Configure default EndpointIdentificationAlgorithm for WebSocketCoreClient
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-13 09:36:13 +11:00
Greg Wilkins 9a67114c43 work in progress to fix websocket OSGi
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-12 17:35:46 +11:00
Joakim Erdfelt ff0aa965c4 Issue #3162 - Attempting to address ServiceLoader with javax.websocket (client) on OSGi
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-12-12 14:43:58 +11:00
Greg Wilkins 252bb5dd72 Merge branch 'jetty-10.0.x' into jetty-10.0.x-3129-websocket 2018-12-11 17:02:16 +11:00
Olivier Lamy 0dcdcc7baf
Jetty 10.0.x fix surefire arg line (to avoid locale dependent build) (#3183)
* surefire.argLine replaced by jetty.surefire.argLine

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-12-06 09:09:06 +10:00
Greg Wilkins e8d468b3e1 work in progress
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-05 14:45:23 +01:00
Joakim Erdfelt 435dd200bd Issue #3162 - Attempting to address ServiceLoader with javax.websocket (client) on OSGi
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-12-04 11:31:02 -06:00
Joakim Erdfelt 231892e276 Issue #3162 - Making dependents OSGi aware
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-12-03 17:34:13 -06:00
Joakim Erdfelt e0f4e5a32a Issue #3162 - correcting typo
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-12-03 17:32:10 -06:00
Joakim Erdfelt 85f74f198a Issue #3162 - Fixing OSGi manifest for websocket
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-12-03 17:31:51 -06:00
Lachlan Roberts e8ba030904 Issue #3129 - refactor of javax websocket package names
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-11-29 17:43:51 +01:00
Simone Bordet bfa2dbf68c Issue #3162 - Use Jetty specific Servlet API jar.
* Updated module-info.java to reference the "jetty.servlet.api" module.
* Updated POMs to reference the o.e.j.toolchain:jetty-servlet-api artifact.
* Removed references to jetty-schemas.jar.
* Updated attribute "org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern"
  to match the new Jetty Servlet API jar.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-29 16:51:29 +01:00
Joakim Erdfelt a703fc626b Fixes #3139 - NPE in WebSocketContainerInitializer
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-11-27 14:42:30 -06:00
Simone Bordet 5f972b451c
Jetty 10.0.x 2978 add module info (#3120)
Fixes #2978 - Add module-info to relevant Jetty modules.

Added module-info.java for Jetty modules that are not test modules.
Moved jetty-http test utility classes to new module "jetty-http-tools".
Removed generation of test-jar from websocket-core.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-22 12:37:35 +01:00
Greg Wilkins 4013563db0 Issue #3129 Provisional fix
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-21 10:53:40 +01:00
Greg Wilkins 7cb65e4f1f Move RetainableByteBuffer to jetty-io
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-15 10:04:07 +01:00
Joakim Erdfelt 29fd18e046 Updating to version 9.4.15-SNAPSHOT 2018-11-14 16:42:40 -06:00
Joakim Erdfelt c4550056e7 Updating to version 9.4.14.v20181114 2018-11-14 15:19:10 -06:00
Joakim Erdfelt a903017f5f Updating to version 9.4.14-SNAPSHOT 2018-11-11 21:06:50 -06:00
Joakim Erdfelt 49123a3313 Updating to version 9.4.13.v20181111 2018-11-11 20:02:42 -06:00
Greg Wilkins 59dffebd1c
Revert backport of HttpClient executor bean handling. (#3088)
Revert to the not-so-good bean handling for the HttpClient executor
Added TODOs so that the bean handling can be updated in future.
Deprecated Websocket client setters that hide dependency on internal HttpClient instance.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-11 16:07:41 +01:00
Simone Bordet 2fd6266f62 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2018-11-09 18:25:03 +01:00
Simone Bordet f814354bb5 Issue #3085 - Restore Dump methods for backwards compatibility reasons.
Restored removed methods to maintain backwards compatibility.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-09 17:47:46 +01:00
Greg Wilkins 9003a0fd69
Jetty 10.0.x websocket refactor (#3055)
* Adding more todos
* More websocket test updates
* Adding more information to exception about mismatched hash
* AcceptHash improved testing
* Prevent duplicate request headers
* Removing ability to use LocalFuzzer entirely (until its fixed)
* JSR356 HandshakeResponse header modifications are now allowed during Configurator
* Correcting MessageSink creation
* Using proper sub-protocol
* Metadata remembers OnMessage.maxMessageSize now
* Minor test updates
* Issue #2172 - Fixing JSR-356 Decoder discovery and OnMessage wiring
* More websocket test updates
* Update for null/empty payload
* Partial String Message Sink fix
* More websocket fixes around InputStream handling
* Moving proposed Abstract FrameHandler hierarchy into core main
* More testing fixes, along with a change to use the new core Abstract*FrameHandler
* Adding WebSocket URI validation
* Updating copy found in other API with improvements made in first API.
* More websocket test updates
* Fixing compilation
* WebSocket test fixes
* Fixing ContinuationTest assertions
* fixed package
* Added some better examples of QuotedCSV
I think this test is trying to use QuotedCSV in the wrong way, as it often is offering values when it should be testing parameters.
I have added some examples to show that QuotedCSV is capable of handling the quotes, spaces and embedded commas of the tests, but only
for parameters and not for values.   The question is, is this sufficient for websocket?
* Improve close handling
The handling of a Close Frame may close the endpoint, so parsing should not continue
* moved old AbstractFrameHandler to test
* implement ingoing and outgoing frame sequence checking
* More work on javax.websocket parameterized server
* Bumping up pom plugin versions to jetty-9.4.x standards
* Merging up Jenkinsfile to attempt to fix CI build issues
* JSR356 @PathParam testing
* More WebSocket testing updates
* More WebSocket testing updates
* WebSocket Idle Timeout from FrameHandler specific policy
* WebSocket/JSR Pong support
* WebSocket/JSR Correcting MessageHandler.Whole<PongMessage> handling
* URL Decode UriTemplatePathSpec values
* Fixing test expectations
* Fixing AbstractWholeMessageHandler buffer flip
* More websocket test fixes
* Updated ALPN version for JDK 8u181.
* Removing QuotedUtil from WebSocket-core
+ Moved to QuotedCSV for most usages
+ Introduced HeaderUtil to satisfy remaining use cases
* Review of HttpClient names and Thread names.
+ Javax WebSocket Server = "Javax-WebSocketServer@####"
+ Javax WebSocket Client = "Javax-WebSocketClient@####"
* added OpCodeTest.java
* Minor Frame cleanup
* MessageOS cleanup
* Made the OpCode of WebSocket Frame immutable.
Frames can no longer be set as a continuation and should now be copied using the ContinuationFrame constructor
DataFrames can no longer be created without one of the subclasses as the public constructor was removed in favour of newDataFrame method
* Chat test
* Work on Chat Test
Moved implementation of assertValid to WebSocketFrame
Removed getFinRsvOp
* removed constructors for DataFrame using a basedOn Frame
instead use constructors with opCode, payload and fin bit
* refactor of WebSocket Frames WIP
* WIP: resolved failing tests
* CloseStatus rework, now use CloseStatus.toFrame to create Close Frames
new DelegateFrame class which ReadOnlyFrame extends
trim utf8 byte array in CloseStatus to utf8 character boundaries only
* working on test to test socket io erros in websocket-core
* renaming for clarity
Gave up on maintaining old names, as this is a different package anyway so some adaption will be needed regardless.
* Moved AbstractFrameHandlers to common
Only have a AbstractTestFrameHandler in core
* Close uses CloseStatus
Reduced the parsing and generation of CloseStatus when closing
* merge
* work on WebSocketTest
* cleanup log
* wip
* files missing comment header
jetty-jmh was using 9.4.12-SNAPSHOT now using 10.0.0-SNAPSHOT
* thread names
* remove sequence check from parser
* minor cleanups
* Call frameHandler externally to parser
* OpCode.check now throws ProtocolException instead of returning boolean
changed ProtocolException messages in OpCode.check
* removed Frame.Type and use OpCode instead
separated out FrameValidation for parser into method in WebSocketChannel
* moved remaining frame validation checks into WebSocketChannel
* referenced counted buffer
* cleanups
* wip on demand side
* First attempt at demandable
* demand control
* clean up reference counting
* clean ups
* WebSocketServerTest
* wip
* fixed auto fragmentation
* simple demand test
* test demand and retain
* Added validation back into the Parser
split up validation in WSChannel into methods for incoming and outgoing
fixed various tests in websocket-core
* more tests
* fixed remaining tests failing due to the changes to frame validation
* cleanups
* more autobahn refixes
* adjust mask for auto fragments
* clear mask
* fully close on unrecoverable error and not wait for close response
* Removed the CoreFuzzer and ContinuationTest
These tests are now covered elsewhere.
* remove declared exception onClosed
* Test delay close
* Test handler close
* fixed test dependency
* moved the frame sequence check from OutgoingState from after the ExtensionStack to channel.sendFrame
changed error handling to fail the callback of invalid/outOfSequence frames
added WebSocket Close tests revealing some problems with demand in state ICLOSE
* cleanup
* timing issues with WebSocketCloseTest
* test cleanups
* Cancel demand on close
* removed frame validation from generator
* finished close testing
* Issue #2901 - Moving Http Upgrader to Http Conversation
+ Solves for Authentication and Redirect
* changes from #2902 to jetty-10.0.x
* Validation Extension
introduced a ValidationExtension to do frame validation in the ExtensionStack
added the WebSocketChannel to ExtensionStack.connect to set it on the Extensions
* added parameters for ValidationExtension to choose what to validate
* ValidationExtension Cleanup
ValidationExtension now uses the Validation methods from its WebSocketChannel
simplified the parameter passing to the ValidationExtension
* core cleanup
* Fixed intermittent test failures
* clean up duplicates and imports
* simplified package structure
* many cleanups, simplifications and duplication removal
* cleanup
* added utf8 validation for text frames into ValidationExtension
added tests for utf8 validation
* create ValidationExtensionTest
* cleanup
* merge with jetty-10
update websocket to junit5
* fix to autobahn client report directory
* Fixes and cleanup
Fixed initial buffer too large for websocket buffer
less verbose debug
better debug
* Removed behavior from policy
* cleanup after merge from hell
* bug fixes and cleanups
* refactor packages with JPMS in mind
* unit test for TextMessageHandler
* cleanups
* more cleanups
* provided client/server dependencies
* fixed bad refactor
* use lambdas for TextMessageHandler
* cleanup
* cleanup
* cleanups
* cleanup of websocket-common framehandlers
* reverting to jetty websocket api from 9.4
* better chat
* renamed websocket common to util
* save wip on jetty-websocket-tests
* giving up on jetty-websocket-tests as mostly duplicated tests
* renamed websocket-util back to websocket-common
* moved InvalidWebSocketException to javax common
* reworked TextMessageHandler to MessageHandler
now handles binary messages as well
* implemented getByteBufferPool in remaining DummyChannel classes
* Moved the abstract Frame and Message handlers out of websocket-common
* replaced usages of AbstractWholeMessageHandler with CoreMessageHandler
renamed MessageHandler to CoreMessageHandler
* removed AbstractFrameTypeHandler
* cleanup
* jetty-websocket-common passing tests without websocket-common dependency
* fixed compile errors
* renamed MessageHandler
* Removing reference to websocket-server (no longer exists)
* Removing, Extensions now exist in websocket-core
* Do not append an empty ByteBuffer
* NPE Fix for empty/unused UTF-8 String Builder
* NPE Fix for SendPartialBinaryFrameHandler test
* Punching holes in WebAppContext needed for JSR356 use
* Updating "9.x.x" to "10.x.x"
* Removing Bad URI test case that is ignored
* Fixing test expectation now that we moved to QuotedCSV
* Adding TODO about onOpen failure requiring onError + onClose.
* Throwing JSR356 DeploymentException on addEndpoint() failure
* Test cleanup (for better error messages)
* Adding some comments to explain wrapNonVoidReturnType()
* cleanup methodHandle return type filtering
* test fixes
* Fix change return type to Void
* Fixed test by wiring up MessageHandler
* test cleanups
removed changeReturnType for MethodHandle as filterReturnValue already changes to return type of the filter
* fixed MessageReceivingTest.testPartialBinaryFrameHandler
* Core BatchMode replaced by boolean
* fixed LargeContainerTest.testEcho by allowing the policy to be set on the WSServer as an attribute
* acquire batchBuffer before calculating batchSpace in FrameFlusher
* Deprecated WebSocketPolicy
* Fixing MessageReceivingTest
* Refactoring out websocket-servlet
+ WebSocketPolicy removed from websocket-servlet
+ websocket-common is removed
+ Migrating back up to APIs
* WIP removing core policy
* added missing copyright headers
* customize client session
* customize cleanup
* wip
* wip
* Removing WebSocketPolicy usage within websocket-core
* Allowing DummyCoreSession to have a Behavior
* Removing core WebSocketPolicy.clonePolicy() - no longer used
* Jetty Native WebSocket now compiles / tests
* Remember WebSocketServletFactoryImpl as Context Attribute
* JSR356 codebase now compiles
* updated websocket servlets
* fix handling for no max message size
* Fixed LargeContainerTest.testEcho
Changed WebSocketServletFactoryImpl.defaultAutFragment to true
only check the incoming frame size if autoFragment is false
* Added WebSocketConstants to avoid duplicate default locations
* applications extensions discovered via headers
* fixed ConfiguratorTest.testNoExtensionsConfigurator
* cleaned up extension negotiation
* cleaned up extension negotiation
* cleanups
* Convert exceptions to API versions
* cleanup imports
* convert requestURI to a WebsocketURI in Negotiated
* fixed SessionTrackingTest
* moved session tracking management to be done by the JavaxWebSocketFrameHandler
* Cleanup dump for jdk11 classloaders
* fix to ConfiguratorTest
added the EchoSocket endpoint on the ServerContainer instead of using server.registerWebSocket
* Simplify websocket-servlet
    fixed jetty websocket chat example
    fixes for javax websocket chat example
    fixed Upgrade response header issues
    Set default configurations
    improved dump
    depends on javax server impl
    do not expose core classes
    fix javadoc
    removed FrameHandlerFactory self reference
* Removed -impl from javax client and server
* Fixed common tests for onClosed event
* Improve creation of JavaxWebSocketServerContainer
Better handling of executor and httpClient as managed beans
* Fixed MessageOutputStream using empty buffers and looping forever
no longer enforce maxTextMessageBufferSize on partial messages
* Updates after review
reintroduced WebSocketServletFactory
reverted other API changes
* Ignored TextStreamTest tests incorrectly assuming no frame fragmentation
When message fragmentation is implemented in PartialStringMessageSink
then update these tests to check on the server side for no buffers
larger than the maxTextMessageBufferSize.
* fixed check for previous WebsocketUpgrade filter
Disable the AltFilterTest until problems of the WebSocketUpgradeFilter
attributes on the ServletContext are fixed.
* fixed flaky SessionTrackingTest by waiting for Sessions to open
* remove payload length check for outgoing frames
fix bug sending frames after they have failed validation checks
* reverted maven coords for javax client and server
* updated to latest jetty-10 dump changes
* Fix to WebSocketUpgradeFilter Attributes on the ServletContext
Removed deprecated method
WebSocketUpgradeFilter.configureContext(ServletContext)
Changed return type of
WebSocketUpgradeFilter.configureContext(ServletContext) to void.
WebSocketUpgradeFilter.configureContext was checking the ServletContext
for a WebSocketUpgradeFilter set as an attribute before creating a new
one. The FilterHolder from web.xml is being set as an attribute in init
which is called which happens after configureContext.
So instead of checking the attribute in
WebSocketUpgradeFilter.configureContext, we are now searching through
the filters on the ServletHandler to see if a WebSocketUpgradeFilter
has been registered with the CONTEXT_ATTRIBUTE_KEY.
* cleanup and identifying problems with FrameHandlerMetadata
* properly cache Metadata and copy MessageMetadata
properly cache Metadata in the FrameHandlerFactory using the metadataMap
copy the MessageMetadata from Metadata to prevent mutating the MethodHandle
* added new WebSocketServerContainerExecutorTest
removed DelayedStartClientOnServerTest which doesnt seem to be a valid
test when executors are shared
removed last check for executor==null in JavaxWebSocketServerContainerInitializer
as the threadPool is always created in the server
* reformatted websocket code
* reformat code
* Rervert unnecessary changes from 10.0.x
* Rervert unnecessary changes from 10.0.x
* fix build issues testing Hazelcast sessions
* QuotesDecoderTest sessions not being closed
* Fixed CookiesTest
CookiesTest.testCookiesAreSentToClient was failing due to the
Assertion being caught and logged by the upgrade request
the response is now captured by a FuturePromise and the assertions are
done in the main test
the reason the assertion was failing was due to lowercase "set-cookie"
instead of "Set-Cookie"
* fixed maven coords
* javadoc fixes
* fixed javadoc
* revert maven artifact names
* cleanup after review

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-02 13:07:43 +01:00
Greg Wilkins be120aa3b5 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-10-22 12:20:39 +11:00
Greg Wilkins 15e1c73f9c
Cleanup the dump implementation (#2998)
* Cleanup the dump implementation
* improved the clarity of utility methods for dump and updated most dump methods
* fixed upgrade filter dump
* Improved dump after review
* Moved dumpObjects to Dumpable
* implemented dumpBeans with dumpObjects
* less verbose dump
* Dump streams
* fixed dump test

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-22 11:53:59 +11:00
Simone Bordet 28e50a2415 Issue #2983 - Jetty 10 Configuration abstraction.
Updated all services whose implementation is in jetty-webapp.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-16 14:59:08 +02:00
Simone Bordet d604d6e2c4 Issue #2948 - Require JDK 11 for Jetty 10.x.
Skipping all websocket tests for now.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-10 19:08:00 +02:00
Simone Bordet 1fe6c92ee9 Issue #2948 - Require JDK 11 for Jetty 10.x.
First pass at making Jetty 10.x require JDK 11.

* Removed JDK 8 modules (in particular ALPN and ALPN *.mod files).
* Removed profiles targeting JDK 8, 9 and 10.
* Updated dependencies to newer versions that support JDK 11.
* Temporarily commented out the Jetty Maven Plugins due to
maven-plugin-plugin not working with JDK 11.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-03 11:15:30 +02:00
olivier lamy 49c12ae0f0 fix merge
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-09-22 21:19:31 +10:00
olivier lamy 5e8a7403d1 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2018-09-22 20:11:03 +10:00
Joakim Erdfelt 7db1abafbf Fixing WebSocketUpgradeFilter Tests
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-09-14 10:46:06 -05:00
Joakim Erdfelt c5755f6686 Fixing PerMessageDeflateExtensionTest
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-09-14 06:17:36 -05:00
Joakim Erdfelt 49bd9b3280 Fixing SessionTest
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-09-14 06:10:39 -05:00
Joakim Erdfelt 2d44cc3189 Migrating websocket tests to junit5
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-09-13 20:55:49 -05:00
Joakim Erdfelt 59a9a0114a More junit5 test fixes
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-09-12 16:55:01 -05:00
Joakim Erdfelt ae169aa624 Fixing #2875 - WebSocketClient upgrade with redirect support
+ Using HttpClient fixes from #2901 to allow upgrader to be
  held for entire conversation regardless of authentication
  or redirect behaviors.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-09-12 15:57:31 -05:00
olivier lamy 32912b922d Merge branch 'jetty-9.4.x' into jetty-10.0.x 2018-09-06 17:39:57 +10:00
olivier lamy 1504b7da93 Revert "Issue #2431 - Upgrade to Junit 5 (#2436)"
This reverts commit e24fc48539.
2018-09-06 09:27:11 +10:00
olivier lamy 8a05c651c0 Revert "fix merging"
This reverts commit a3e4a08903.
2018-09-06 09:26:57 +10:00
olivier lamy a3e4a08903 fix merging
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-09-05 22:05:18 +10:00
Joakim Erdfelt e24fc48539 Issue #2431 - Upgrade to Junit 5 (#2436)
+ Changes needed for new Junit 5
+ Migrating from Vintage junit API to Jupiter junit API
+ Relies on SNAPSHOT jetty-test-helper
  - this will be a formal release once this issue has been
    resolved satisfactory
+ Have jenkins always pull latest SNAPSHOT for each build
+ Adding jetty.snapshots repository
+ Using surefire 2.22.0 per advice from junit
+ Ensuring <reuseForks>true</reuseForks> to work around issue junit-team/junit5#801
+ Disabling <forkMode>always</forkMode> in maven-surefire-plugin
  due to bug https://github.com/junit-team/junit5/issues/801
+ OSGi tests must remain at vintage due to PaxExam
+ Moving from vintage TestingDir to jupiter WorkDir
+ Fixing imports to use jupiter, not vintage
+ Migrating vintage ExpectedException to jupiter assertThrows
+ Migrating vintage TestName to jupiter TestInfo
+ Migrating @RunWith(Parameterized.class)
  to @ParameterizedTest with Argument Sources
+ Migrating assertTrue(val.contains(needle))
  to assertThat(val, containsString(needle))
+ Aligning junit versions per recommendations from @sormuras
+ Adjusting parameter order change for assertEquals()
+ Test LifeCycle Annotation Migration

junit 4      | junit 5 / jupiter
------------ | -----------
@Before      | @BeforeEach
@After       | @AfterEach
@BeforeClass | @BeforeAll
@AfterClass  | @AfterAll

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-09-05 21:27:18 +10:00
Joakim Erdfelt a3f1592c50 Issue #2431 - Upgrade to Junit 5 (#2436)
+ Changes needed for new Junit 5
+ Migrating from Vintage junit API to Jupiter junit API
+ Relies on SNAPSHOT jetty-test-helper
  - this will be a formal release once this issue has been
    resolved satisfactory
+ Have jenkins always pull latest SNAPSHOT for each build
+ Adding jetty.snapshots repository
+ Using surefire 2.22.0 per advice from junit
+ Ensuring <reuseForks>true</reuseForks> to work around issue junit-team/junit5#801
+ Disabling <forkMode>always</forkMode> in maven-surefire-plugin
  due to bug https://github.com/junit-team/junit5/issues/801
+ OSGi tests must remain at vintage due to PaxExam
+ Moving from vintage TestingDir to jupiter WorkDir
+ Fixing imports to use jupiter, not vintage
+ Migrating vintage ExpectedException to jupiter assertThrows
+ Migrating vintage TestName to jupiter TestInfo
+ Migrating @RunWith(Parameterized.class)
  to @ParameterizedTest with Argument Sources
+ Migrating assertTrue(val.contains(needle))
  to assertThat(val, containsString(needle))
+ Aligning junit versions per recommendations from @sormuras
+ Adjusting parameter order change for assertEquals()
+ Test LifeCycle Annotation Migration

junit 4      | junit 5 / jupiter
------------ | -----------
@Before      | @BeforeEach
@After       | @AfterEach
@BeforeClass | @BeforeAll
@AfterClass  | @AfterAll

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-09-05 10:07:17 +10:00
Jesse McConnell 863a19bccf
Updating to version 9.3.26-SNAPSHOT 2018-09-04 17:23:31 -05:00