Lachlan
d8164a1728
Merge pull request #3836 from eclipse/jetty-9.4.x-3835-WebSocketSession-LifeCycle
...
Issue #3835 - ensure WebSocketSessions are always stopped
2019-07-04 12:59:49 +10:00
Lachlan Roberts
d4217cb20b
Merge remote-tracking branch jetty-9.4.x into jetty-10.0.x
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-04 12:39:03 +10:00
Lachlan Roberts
062444630f
Merge remote-tracking branch jetty-9.4.x into jetty-9.4.x-3835-WebSocketSession-LifeCycle
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-04 11:15:23 +10:00
Lachlan Roberts
d69bf31494
Issue #300 - fix test expectation after CompressExtension changes
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-04 11:10:24 +10:00
Jan Bartel
5568f833e7
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-07-03 16:53:00 +02:00
Jan Bartel
bb7fb48f08
Fix checkstyle warnings for tests. ( #3846 )
...
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-07-03 16:42:20 +02:00
Lachlan Roberts
1554b3dbb1
Issue #3835 - add default methods to WebSocketSessionListener
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-03 11:33:32 +10:00
Lachlan Roberts
07ee1d8fc6
Merge remote-tracking branch jetty-9.4.x into jetty-10.0.x
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-03 11:21:30 +10:00
Lachlan
f3f13c4ca9
Issue #2061 - fail current entry in CompressExtension on failure ( #3830 )
...
* Issue #2061 - fail current entry in CompressExtension on failure
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
* Issue #2061 - do not notify callback failure twice
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-03 11:09:34 +10:00
Lachlan Roberts
196833d15e
Issue #3835 - fix SessionTracker dump, add test assertions
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-02 19:06:05 +10:00
Lachlan Roberts
2383bf4974
Issue #3835 - ensure WebSocketSessions are always stopped
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-01 16:40:45 +10:00
Greg Wilkins
b7a7a53a18
Jetty 10.0.x reformat ( #3812 )
...
* Removing Legacy Method Separators
* Restyling branch `jetty-9.4.x`
* Applying changes highlighted by checkstyle
* Removing Legacy Method Separators
* Restyling branch `jetty-10.0.x`
* Applying checkstyle changes
* Applying checkstyle changes
* Applying XML restyling
* Restyling XML in branch `jetty-10.0.x`
* Fixing XML codestyle for IntelliJ
* Fixing XML style mistakes
* Fixing XML restyling in branch `jetty-10.0.x`
* Revert "Applying XML restyling"
* Updating checkstyle for XML codestyle
* Revert "Restyling XML in branch `jetty-10.0.x`"
# Conflicts:
# jetty-xml/src/test/resources/org/eclipse/jetty/xml/configureWithAttr.xml
# jetty-xml/src/test/resources/org/eclipse/jetty/xml/configureWithElements.xml
* Adding back build-resources
* Reformatting pom.xml files
* Disabling Checkstyle job
* fixed empty string on line wrap
* reformatted with latest intellij style
* misc checkstyle fixes
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-06-24 17:42:39 +02:00
Greg Wilkins
9706d70484
Jetty 9.4.x reformat ( #3811 )
...
* Removing Legacy Method Separators
* Restyling branch `jetty-9.4.x`
* Applying changes highlighted by checkstyle
* Applying XML restyling
* Fixing XML codestyle for IntelliJ
* Fixing XML style mistakes
* Revert "Applying XML restyling"
* Updating checkstyle for XML codestyle
* Reformatting pom.xml files
* Fixed empty string from line wraps
* Update intellij style to not do expression relative formatting. Reformatted code based on that.
* Increasing line split on Eclipse IDE Formatter to 512
* Restoring setting on internal default value.
+ IntelliJ will not export settings on things that set to their
internal default values.
We want to keep those values as a hedge against future default
value changes in future releases of IntelliJ.
* Fixing intellij codestyle
* do not allow single line simple methods
* misc checkstyle fixes
* re-exported with correct name and all values
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-06-24 17:40:30 +02:00
Joakim Erdfelt
fe051bf392
Removing deprecated methods in Jetty 10
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-20 11:41:42 -05:00
Lachlan Roberts
93b6619f8f
fix flaky tests in ClientConnectTest
...
race of Exception notifications between the CompletableFuture and
the FrameHandler
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-20 18:23:32 +10:00
Lachlan Roberts
ec4179cf42
fix NPEs in tests from merge
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-20 11:16:45 +10:00
Lachlan Roberts
6f94b72667
fix build problems from bad merge
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-20 09:40:11 +10:00
Joakim Erdfelt
22b054e0ef
Merge branch `jetty-9.4.x` into `jetty-10.0.x`
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/deploy/WebSocketServerContainerInitializer.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/BinaryStreamTest.java
# jetty-websocket/javax-websocket-server/src/test/java/org/eclipse/jetty/websocket/javax/server/browser/JsrBrowserDebugTool.java
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/NativeWebSocketServletContainerInitializer.java
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java
2019-06-19 16:54:19 -05:00
Joakim Erdfelt
5e3cecee6f
Merge pull request #3706 from eclipse/jetty-9.4.x-websocket-sci-from-embedded
...
Issue #3698 - Reworking WebSocket SCI's to be more flexible in embedded
2019-06-19 15:31:59 -05:00
Lachlan
372ed1455f
Issue #3661 - review of exposed classes in jetty-websocket-server ( #3779 )
...
* Issue #3661 - review of exposed classes in jetty-websocket-server
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
* Issue #3762 - cleanups of jetty-websocket-server
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-17 17:12:46 +10:00
Lachlan
a18bd12ada
Issue #3762 - use the default port of 0 for WebSocket tests
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-17 13:28:38 +10:00
Joakim Erdfelt
49ee5ac3c0
Merge branch 'jetty-9.4.x' into 'jetty-9.4.x-websocket-sci-from-embedded'
2019-06-14 08:23:42 -05:00
Simone Bordet
2a2a11cd2e
Improvements after merge.
...
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-06-13 10:23:55 +02:00
Simone Bordet
790051556f
Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
2019-06-13 10:03:54 +02:00
Lachlan
6fcc3d1a77
Issue #3762 - use the default port of 0 for WebSocket tests ( #3770 )
...
* Issue #3762 - use the default port of 0 for WebSocket tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
* Issue #3762 - use system property to set custom port in xml
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-13 15:43:19 +10:00
Joakim Erdfelt
9e368726d7
Attempting to address stats difference
2019-06-12 15:10:22 -05:00
Joakim Erdfelt
fab70bd13c
Merge branch 'jetty-9.4.x' of github.com:eclipse/jetty.project into jetty-9.4.x
2019-06-12 12:42:42 -05:00
Joakim Erdfelt
aa8c0bb879
Reworking testcase to be more resilient
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-12 12:42:28 -05:00
Joakim Erdfelt
776c093b70
Merge branch 'release-9.4.19' into jetty-9.4.x
2019-06-12 06:44:27 -05:00
Joakim Erdfelt
2ea0bca333
Cleanup of testcase, unable to replicate failure.
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-11 13:10:55 -05:00
Lachlan
0d9de28226
Issue #3661 - move WebSocketSessionListener to WebSocket-API
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-11 21:08:52 +10:00
Joakim Erdfelt
ae21126cad
Updating to version 9.4.20-SNAPSHOT
2019-06-10 13:40:17 -05:00
Joakim Erdfelt
afcf563148
Updating to version 9.4.19.v20190610
2019-06-10 11:17:56 -05:00
Lachlan Roberts
85aa3424b6
Issue #3712 - rename maxIdleTime usage to idleTimeout for WebSockets
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-05 14:18:47 +10:00
Lachlan Roberts
90e849af76
disable failing testSuspendAfterClose for further review
...
the WebSocket suspend after close different behaviour from 9 to 10
in jetty-10 an ISE is thrown
in jetty-9 it is a no-op
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-05 13:30:21 +10:00
Lachlan Roberts
bb65167549
Merge remote-tracking branch 'eclipse/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-05 01:34:53 +10:00
Lachlan
ac8303c45e
Merge pull request #3637 from lachlan-roberts/jetty-9.4.x-3498-websocket-suspend
...
Issue #3498 - jetty 9.4 websocket suspend for incoming frames
2019-06-04 13:42:24 +10:00
Joakim Erdfelt
54888d2541
Issue #3698 - Reworking WebSocket SCI's to be more flexible in embedded
...
+ Added new SCIOnStartupListener that allows for manual wiring up
of ServletContainerInitializers (with no bytecode scanning)
in embedded jetty usages
+ Introduced .initialized(context) and .configure(context) to both of
the websocket SCIs
+ Moved ClientConnectTest to jetty-websocket-tests
+ Moved WebSocketClientTest to jetty-websocket-tests
+ Made moved tests not use BlockheadServer
+ Made moved tests use new .configure(context, lambda) methods
+ Also allowing javax.websocket.server SCI implementation to
add ContextDestroyListener during the execution of another
ServletContextListener.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-03 13:31:06 -05:00
Lachlan Roberts
d6c68c4911
Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-configuration-refactor
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-23 09:03:27 +10:00
Lachlan Roberts
491ff5eb93
rename WebSocketChannel to WebSocketCoreSession
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-22 08:29:05 +02:00
Lachlan Roberts
e31009cb06
WebSocketCoreClient no longer stores configuration and can be shared
...
configuration moved to ClientUpgradeRequest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-21 11:33:06 +10:00
Lachlan Roberts
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
7ba77c0be4
add tests for jetty-websocket client configuration
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-16 15:37:46 +10: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
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
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
Lachlan Roberts
bb8e5557d2
fix flaky test ClientCloseTest.testWriteException
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-01 07:58:24 +02:00
Joakim Erdfelt
c33f3a75ed
Merge branch `release-9.4.18` into `jetty-9.4.x`
2019-04-30 11:44:06 -05:00
Greg Wilkins
d84a4efde5
Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
...
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-04-30 13:46:59 +02:00
Lachlan Roberts
8ddcf3685b
Issue #3608 - give 400 error response for missing Sec-WebSocket-Key
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-30 15:11:51 +04:00
Joakim Erdfelt
734be56938
Updating to version 9.4.19-SNAPSHOT
2019-04-29 16:27:23 -05:00
Joakim Erdfelt
e1bc35120a
Updating to version 9.4.18.v20190429
2019-04-29 15:40:33 -05:00
lachan-roberts
8360aad619
remove exception stack traces and prints from websocket tests
...
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-04-29 13:51:18 +04:00
Joakim Erdfelt
29b960551f
Merge branch `release-9.4.17` into `jetty-9.4.x`
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# jetty-bom/pom.xml
2019-04-25 09:15:42 -05:00
Joakim Erdfelt
13992d96e4
Merge pull request #3557 from lachlan-roberts/jetty-9.4.x-3476-websocket-concurrent-connect
...
Issue #3476 - previous WebSocketSessions being added to new connections
2019-04-25 06:55:00 -07:00
Lachlan Roberts
15d4659cc0
demand before succeeding callback in JettyWebSocketFrameHandler
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-25 17:03:23 +04:00
Joakim Erdfelt
05bb111580
Updating to version 9.4.18-SNAPSHOT
2019-04-18 15:59:49 -05:00
Joakim Erdfelt
aa1c656c31
Updating to version 9.4.17.v20190418
2019-04-18 14:44:28 -05:00
Lachlan Roberts
f42ef1356e
Issue #3479 - removing unused classes in jetty-websocket-api
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-18 07:02:01 +10:00
Lachlan Roberts
aeb9d2c5dc
Issue #3476 - previous WebSocketSessions being added to new connections
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-16 13:41:38 +10:00
Joakim Erdfelt
79537a5f51
Updating to version 9.4.17-SNAPSHOT
2019-04-11 11:00:24 -05:00
Joakim Erdfelt
e0aa4ae4c0
Updating to version 9.4.16.v20190411
2019-04-11 10:01:26 -05:00
lachan-roberts
002ecf526d
Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-3494-clientclosetest
...
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-04-09 18:21:40 +10:00
Lachlan Roberts
6cd5fb42e9
Issue #3494 - adjustments to WebSocketChannel processConnectionError
...
WebSocketChannel.processConnectionError now defaults to NO_CLOSE
status if no protocol reasons can be found
added some debug logging
improvements to tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-05 12:18:09 +11:00
Lachlan Roberts
5eed464730
Issue #3382 - delay any frames received while suspended until resumed
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-03 17:24:40 +11:00
Lachlan Roberts
7df8140137
Issue #3494 - failures in testRemoteDisconnect because of timeout
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-03 14:50:37 +11:00
Lachlan Roberts
607a870d8e
Issue #3494 - fixes to testStopLifecycle
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-03 10:34:53 +11:00
lachan-roberts
50c193c23b
Issue #3494 - fix ClientCloseTest.testWriteException()
...
Nulling out values in WebSocketAdapter causes race conditions when
trying to access session and endpoint externally
Race condition in WebSocketChannel.Flusher.onCompleteFailure(),
processConnectionError should be called first to ensure that the
correct close reason is processed, super.onCompleteFailure() was closing
the connection causing a read failure.
race condition between the server detecting a read failure and sending
a response and the client detecting the write failure, now blocking
on the server so it is not reading and will not detect the failure
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-04-01 11:19:23 +11:00
lachan-roberts
8f29ea04cd
Issue #3382 - implement Session.suspend() for jetty 10 websocket-api
...
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-29 20:16:20 +11:00
Lachlan Roberts
81960e3da8
Issue #3484 - make WebSocketServlet generic
...
WebSocketServlet could only be used with the jetty-websocket-api
make this generic and add implementation in websocket-server
this prevents jetty-websocket-server from needing to use core classes
can cause class cast exceptions from a webapp due conflicts between the
clients version of core classes and those provided by the container
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-28 16:22:10 +11:00
Lachlan Roberts
45b2c548b0
Issue #3106 - backport WebSocket connection stats from jetty-10
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-28 14:30:11 +11:00
lachan-roberts
0d570dd6b6
Issue #3478 - changes from review
...
ExtensionStack.negotiate now differentiates between incorrect
extension config offered or incorrect config from negotiation
adding more BadMessageException cases
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-22 15:42:39 +11:00
Joakim Erdfelt
4eb8cb1686
Issue #3422 - Using new Connection.Listener support in websocket server
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-21 14:40:49 -05:00
Lachlan Roberts
26e7881dbd
Issue #3465 - Negotiation of WebSocket extensions
...
default behaviour of Negotiation no longer includes all of the
offered extensions as the negotiated extensions but it now takes
only the first extension if there are multiple of the same name,
this is now done when the negotiation is created and can be overwritten
by the negotiator
Throw exception on websocket errors so the proper status code can
be reported back to the client
fix to checking for multiple negotiated extensions of the same name
added tests for core and jetty websockets for the negotiation
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-21 11:41:01 +11:00
lachan-roberts
dab3b64d70
Issue #3458 - make jetty-websocket-client hide websocket-core
...
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-18 15:24:23 +11:00
Lachlan Roberts
20e9770b73
Issue #3458 - testing of Jetty WebSocket API ExtensionConfig
...
wire up the jetty-api extensions by copying the ExtensionConfig from
the jetty-api upgrade request to the core upgrade request
make UpgradeListener interface methods default for convenience
introduce test to test the functionality of API ExtensionConfig
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-18 15:24:23 +11:00
Lachlan Roberts
86675422a6
Issue #3458 - ExtensionConfig now delegates to core implementation
...
ExtensionConfig is now interface in jetty-websocket-api and
implemented in jetty-websocket-common, for its static methods it now
uses a ExtensionConfig.Parser found by the ServiceLoader
the api tests were moved to jetty-websocket-tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-18 15:24:23 +11:00
Joakim Erdfelt
d7364e4794
Issue #3422 - Fixing testcase expectations
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-15 14:08:33 -05:00
Joakim Erdfelt
4fb1940283
Issue #3422 - Fixing testcase expectation
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-15 12:44:28 -05:00
Joakim Erdfelt
76de1c0f24
Issue #3422 - WebSocket wss CLOSE_WAIT on aborted client connection
...
+ Adding testcase to replicate
+ Fixing CLOSE_WAIT by issuing wsclose + disconnect on eof
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-15 11:52:14 -05:00
Greg Wilkins
8b2b626f3c
Merge pull request #3455 from eclipse/jetty-10.0.x-3453-remove-deprecated-websocket-extension-api
...
Issue #3453 - Removing deprecated Extension classes in jetty-websocket-api
2019-03-13 11:05:47 +11:00
Joakim Erdfelt
8a0fff9153
Issue #3453 - Removing deprecated Extension classes in jetty-websocket-api
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-12 10:23:51 -05:00
lachan-roberts
8f727bef40
Issue #3446 - changes from review
...
use the same FrameHandlerFactory for WebSocketServlet and
WebSocketUpgradeFilter
removed addMapping with PathSpec and only support addMapping
with String
JettyWebSocketServerContainer now implements WebSocketPolicy which
configures the FrameHandler.Customizer
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-12 10:46:22 +11:00
lachan-roberts
e355ec31b8
Issue #3446 - renaming, code cleanup and fixes
...
rename WebSocketSessionImpl to WebSocketSession
remove SessionListener which is unused and replaced by
WebSocketSessionListener
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-11 18:07:52 +11:00
lachan-roberts
265e0be6f7
Issue #3446 - jetty-websocket tests for WebSocketUpgradeFilter
...
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-11 18:05:44 +11:00
lachan-roberts
a01fc193a1
WebSocket code cleanups and renaming
...
rename JettyWSSCI.configure to configureContext, this is more similar
to the javax equivalent version
introduce helper method getMapping in WebSocketMapping
WebSocketServletFactory now implements FrameHandler.Configuration
changed WebSocketMapping Attribute name in WebSocketUpgradeFilter
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-11 18:05:44 +11:00
lachan-roberts
59ec0da768
Issue #3406 - fix jetty websocket tests
...
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-07 10:52:03 +11:00
Lachlan Roberts
16fa1133d7
Issue #3406 - enabling all disabled tests in WebSocket
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-07 10:22:59 +11:00
Lachlan Roberts
1160a8d08f
Issue #3106 - turn auto fragment off for WebSocketStatsTest
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-06 10:27:02 +11:00
Lachlan Roberts
46c2941a82
Issue #3106 - implement WebSocketConnection stats
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-06 10:27:02 +11:00
Joakim Erdfelt
234d3e224b
Adding missing ClientWriteThread
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-02-28 08:47:36 -05:00
Joakim Erdfelt
ddc904f1f6
Merge branch `jetty-9.4.x` into `jetty-10.0.x`
...
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
# Conflicts:
# VERSION.txt
# aggregates/jetty-all-compact3/pom.xml
# aggregates/jetty-all/pom.xml
# apache-jsp/pom.xml
# apache-jstl/pom.xml
# examples/async-rest/async-rest-jar/pom.xml
# examples/async-rest/async-rest-webapp/pom.xml
# examples/async-rest/pom.xml
# examples/embedded/pom.xml
# examples/pom.xml
# jetty-alpn/jetty-alpn-client/pom.xml
# jetty-alpn/jetty-alpn-conscrypt-client/pom.xml
# jetty-alpn/jetty-alpn-conscrypt-server/pom.xml
# jetty-alpn/jetty-alpn-java-client/pom.xml
# jetty-alpn/jetty-alpn-java-server/pom.xml
# jetty-alpn/jetty-alpn-openjdk8-client/pom.xml
# jetty-alpn/jetty-alpn-openjdk8-server/pom.xml
# jetty-alpn/jetty-alpn-server/pom.xml
# jetty-alpn/pom.xml
# jetty-annotations/pom.xml
# jetty-ant/pom.xml
# jetty-bom/pom.xml
# jetty-cdi/cdi-2/pom.xml
# jetty-cdi/cdi-core/pom.xml
# jetty-cdi/cdi-full-servlet/pom.xml
# jetty-cdi/cdi-servlet/pom.xml
# jetty-cdi/cdi-websocket/pom.xml
# jetty-cdi/pom.xml
# jetty-cdi/test-cdi-webapp/pom.xml
# jetty-client/pom.xml
# jetty-continuation/pom.xml
# jetty-deploy/pom.xml
# jetty-distribution/pom.xml
# jetty-documentation/pom.xml
# jetty-fcgi/fcgi-client/pom.xml
# jetty-fcgi/fcgi-server/pom.xml
# jetty-fcgi/pom.xml
# jetty-gcloud/jetty-gcloud-session-manager/pom.xml
# jetty-gcloud/pom.xml
# jetty-hazelcast/pom.xml
# jetty-home/pom.xml
# jetty-http-spi/pom.xml
# jetty-http/pom.xml
# jetty-http2/http2-alpn-tests/pom.xml
# jetty-http2/http2-client/pom.xml
# jetty-http2/http2-common/pom.xml
# jetty-http2/http2-hpack/pom.xml
# jetty-http2/http2-http-client-transport/pom.xml
# jetty-http2/http2-server/pom.xml
# jetty-http2/pom.xml
# jetty-infinispan/pom.xml
# jetty-io/pom.xml
# jetty-jaas/pom.xml
# jetty-jaspi/pom.xml
# jetty-jmh/pom.xml
# jetty-jmh/src/main/java/org/eclipse/jetty/http/jmh/MultiPartBenchmark.java
# jetty-jmx/pom.xml
# jetty-jndi/pom.xml
# jetty-jspc-maven-plugin/pom.xml
# jetty-maven-plugin/pom.xml
# jetty-memcached/jetty-memcached-sessions/pom.xml
# jetty-memcached/pom.xml
# jetty-nosql/pom.xml
# jetty-osgi/jetty-osgi-alpn/pom.xml
# jetty-osgi/jetty-osgi-boot-jsp/pom.xml
# jetty-osgi/jetty-osgi-boot-warurl/pom.xml
# jetty-osgi/jetty-osgi-boot/pom.xml
# jetty-osgi/jetty-osgi-httpservice/pom.xml
# jetty-osgi/pom.xml
# jetty-osgi/test-jetty-osgi-context/pom.xml
# jetty-osgi/test-jetty-osgi-fragment/pom.xml
# jetty-osgi/test-jetty-osgi-server/pom.xml
# jetty-osgi/test-jetty-osgi-webapp/pom.xml
# jetty-osgi/test-jetty-osgi/pom.xml
# jetty-plus/pom.xml
# jetty-proxy/pom.xml
# jetty-quickstart/pom.xml
# jetty-rewrite/pom.xml
# jetty-runner/pom.xml
# jetty-security/pom.xml
# jetty-server/pom.xml
# jetty-servlet/pom.xml
# jetty-servlets/pom.xml
# jetty-spring/pom.xml
# jetty-start/pom.xml
# jetty-unixsocket/pom.xml
# jetty-util-ajax/pom.xml
# jetty-util/pom.xml
# jetty-webapp/pom.xml
# jetty-websocket/javax-websocket-client-impl/pom.xml
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/AbstractJsrRemote.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/ClientContainer.java
# jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrCallable.java
# jetty-websocket/javax-websocket-server-impl/pom.xml
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/OnPartialTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionTrackingTest.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/echo/ConfiguredEchoSocket.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/echo/LargeEchoAnnotatedSocket.java
# jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/echo/LargeEchoConfiguredSocket.java
# jetty-websocket/jetty-websocket-tests/pom.xml
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/CloseTrackingEndpoint.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/BadNetworkTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientCloseTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientOpenSessionTracker.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientSessionsTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientWriteThread.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/SlowClientTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ContainerEndpoint.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerCloseCreator.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/ServerCloseTest.java
# jetty-websocket/jetty-websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/SlowServerTest.java
# jetty-websocket/jetty-websocket-tests/src/test/resources/jetty-logging.properties
# jetty-websocket/pom.xml
# jetty-websocket/websocket-api/pom.xml
# jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/StatusCode.java
# jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/WriteCallback.java
# jetty-websocket/websocket-api/src/main/java/org/eclipse/jetty/websocket/api/extensions/IncomingFrames.java
# jetty-websocket/websocket-client/pom.xml
# jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java
# jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketUpgradeRequest.java
# jetty-websocket/websocket-client/src/test/resources/jetty-logging.properties
# jetty-websocket/websocket-common/pom.xml
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/LogicalConnection.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/Parser.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpoint.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/AbstractEventDriver.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/EventDriver.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedEventDriver.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/AbstractExtension.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStack.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/identity/IdentityExtension.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/AbstractWebSocketConnection.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FrameFlusher.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FramePipes.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/scopes/DelegatedContainerScope.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/scopes/SimpleContainerScope.java
# jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/scopes/WebSocketContainerScope.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ClosePayloadParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/GeneratorParserRoundtripTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/PingPayloadParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/RFC6455ExamplesParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/TextPayloadParserTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpointTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase1_1.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase1_2.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase2.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/ab/TestABCase7_3.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/DummyIncomingFrames.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateFrameExtensionTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/FrameFlusherTest.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/LocalWebSocketConnection.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/BlockheadClient.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/BlockheadConnection.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/DummyConnection.java
# jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/IncomingFramesCapture.java
# jetty-websocket/websocket-server/pom.xml
# jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/IdleTimeoutTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/SimpleServletServer.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketProtocolTest.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/ABSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/examples/echo/BigEchoSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/helper/RFCSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/helper/SessionSocket.java
# jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/misbehaving/MisbehavingClassTest.java
# jetty-websocket/websocket-server/src/test/resources/jetty-logging.properties
# jetty-websocket/websocket-servlet/pom.xml
# jetty-xml/pom.xml
# pom.xml
# tests/pom.xml
# tests/test-continuation/pom.xml
# tests/test-distribution/pom.xml
# tests/test-http-client-transport/pom.xml
# tests/test-integration/pom.xml
# tests/test-jmx/jmx-webapp-it/pom.xml
# tests/test-jmx/jmx-webapp/pom.xml
# tests/test-jmx/pom.xml
# tests/test-loginservice/pom.xml
# tests/test-quickstart/pom.xml
# tests/test-sessions/pom.xml
# tests/test-sessions/test-file-sessions/pom.xml
# tests/test-sessions/test-gcloud-sessions/pom.xml
# tests/test-sessions/test-hazelcast-sessions/pom.xml
# tests/test-sessions/test-infinispan-sessions/pom.xml
# tests/test-sessions/test-infinispan-sessions/src/test/java/org/eclipse/jetty/server/session/ClusteredSessionScavengingTest.java
# tests/test-sessions/test-jdbc-sessions/pom.xml
# tests/test-sessions/test-memcached-sessions/pom.xml
# tests/test-sessions/test-mongodb-sessions/pom.xml
# tests/test-sessions/test-sessions-common/pom.xml
# tests/test-webapps/pom.xml
# tests/test-webapps/test-http2-webapp/pom.xml
# tests/test-webapps/test-jaas-webapp/pom.xml
# tests/test-webapps/test-jetty-webapp/pom.xml
# tests/test-webapps/test-jndi-webapp/pom.xml
# tests/test-webapps/test-mock-resources/pom.xml
# tests/test-webapps/test-proxy-webapp/pom.xml
# tests/test-webapps/test-servlet-spec/pom.xml
# tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml
# tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml
# tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml
# tests/test-webapps/test-simple-webapp/pom.xml
# tests/test-webapps/test-webapp-rfc2616/pom.xml
2019-02-28 08:26:58 -05:00
Joakim Erdfelt
d8a9f2619b
Issue #3379 - Add tracking of WebSocket Sessions to various WebSocket Container APIs
...
+ Jetty WebSocket API now tracks Sessions and will close them on
lifecycle stop
+ Javax WebSocket API now tracks Sessions and will close them on
lifecycle stop
+ Adding Jetty WebSocket tests for proper close / session tracking
+ Disabling tests that need triage
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-02-27 16:26:43 -05:00
Joakim Erdfelt
9cdb59d4d7
Updating to version 9.4.16-SNAPSHOT
2019-02-15 13:35:15 -05:00
Joakim Erdfelt
eb70b24016
Updating to version 9.4.15.v20190215
2019-02-15 11:53:00 -05:00
Joakim Erdfelt
8dba440317
Issue #3279 - WebSocket Close Refactoring
...
+ FrameFlusher "close" frames are detected during
enqueue and sets the state properly for failing
other frames after it
+ Moving away from Blockhead(Client|Server) to using actual implementations
+ Moved tests to /jetty-websocket-tests/ to be able to use actual impl
for both sides of testcase (client and server)
+ Corrected FrameFlusher terminate/close to not fail the close frame
itself, but only frames that arrive AFTER the close frame.
+ Moving WebSocketCloseTest to jetty-websocket-tests to avoid
using BlockheadClient / BlockheadServer in testing
+ Cleanup of unnecessary modifiers on interface
+ Logging error if @OnWebSocketError is undeclared
+ IOState removed
+ New ConnectionState tracks connection basics in a simpler
method then IOState did.
+ No tracking of Remote close initiated (not needed)
+ IncomingFrames.incomingError() removed
+ Session delegates to Connection for all state changes
+ Errors can be communicated to application multiple times
+ Close is only communicated once
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-02-15 10:07:24 -05:00