Commit Graph

3118 Commits

Author SHA1 Message Date
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
Joakim Erdfelt ef36cde4ed Issue #2909 - Remove B64Code
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-20 11:15:04 -05:00
Lachlan Roberts 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 e305736b02 add request and response to JettyWSFrameHandler on server side
wrap exceptions delivered to jetty connect CompletableFuture

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-20 16:47:11 +10:00
Lachlan 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
Lachlan Roberts e67532372c Issue #300 - ensure Sessions are stopped before CompressionPools
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-20 09:09:20 +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
Joakim Erdfelt a847f54cd2
Merge pull request #3744 from eclipse/jetty-9.4.x-3648-websocket-client-ssl
Issue #3648 - SSL based on WebSocket behavior (CLIENT vs SERVER)
2019-06-18 08:05:33 -05:00
Lachlan Roberts 30dc103a12 Issue #300 - manage deflater/inflater pools with ContainerLifeCycle
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-18 12:31:25 +10: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 f05d6cf9ad Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-300-CompressionPool 2019-06-14 08:38:08 -05:00
Joakim Erdfelt 8c0f889abd Issue #3698 - Updating javadoc on .initialize() method purpose/meaning
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-14 08:37:01 -05: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
Lachlan Roberts c30c335df3 Issue #300 - shared Inflater/Deflater pools for WebSocket
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-14 16:20:00 +10:00
Joakim Erdfelt 60d8661890 Merge `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	examples/embedded/src/main/java/org/eclipse/jetty/embedded/Http2Server.java
#	jetty-ant/src/main/java/org/eclipse/jetty/ant/AntWebInfConfiguration.java
#	jetty-http/src/test/java/org/eclipse/jetty/http/QuotedCSVTest.java
#	jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyWebAppContext.java
#	jetty-nosql/src/main/java/org/eclipse/jetty/nosql/mongodb/MongoSessionDataStore.java
#	jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/OSGiWebInfConfiguration.java
#	jetty-util/src/main/java/org/eclipse/jetty/util/StringUtil.java
#	jetty-util/src/test/java/org/eclipse/jetty/util/StringUtilTest.java
#	jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebInfConfiguration.java
#	jetty-websocket/javax-websocket-tests/src/main/java/org/eclipse/jetty/websocket/javax/tests/WSServer.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WSServer.java
#	tests/test-integration/src/test/java/org/eclipse/jetty/test/support/XmlBasedJettyServer.java
2019-06-13 14:14:42 -05:00
Joakim Erdfelt 40e9e053b9
Merge pull request #3768 from eclipse/jetty-9.4.x-3708-stringutil-replace
Issue #3708 - use StringUtil alternatives for known slow JVM impls.
2019-06-13 14:01:35 -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 877815e195 Issue #3708 - Adding new methods and converting codebase to use them
+ StringUtil.replace(String, char, char)
+ StringUtil.strip(String, String)
+ URIUtil.encodeSpecific(String, String)
+ URIUtil.decodeSpecific(String, String)
+ TypeUtil.toClassReference(Class)
+ TypeUtil.toClassReference(String)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-12 09:56:41 -05:00
Joakim Erdfelt 776c093b70 Merge branch 'release-9.4.19' into jetty-9.4.x 2019-06-12 06:44:27 -05:00
Lachlan Roberts e8115268d4 Issue #300 - rework of inflater and deflater pools
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-12 14:21:40 +10: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
Lachlan 1ead2ee370
Issue #3616 - fix merge back of SessionTracker back to jetty10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-11 21:07:15 +10:00
Lachlan Roberts e007634e53 Issue #3170 - cleanups of WebSocketProxy and WebSocketProxyTest
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-11 17:12:02 +10:00
Lachlan Roberts 327783e1ce Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-3170-websocket-proxy
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-11 15:17:54 +10:00
Joakim Erdfelt ae21126cad Updating to version 9.4.20-SNAPSHOT 2019-06-10 13:40:17 -05:00
Joakim Erdfelt 68a9498092 Merge branch `jetty-9.4.x` into `jetty-10.0.x`
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-10 11:51:55 -05:00
Joakim Erdfelt afcf563148 Updating to version 9.4.19.v20190610 2019-06-10 11:17:56 -05:00
Joakim Erdfelt 5dbc0bdaa5
Merge pull request #3745 from eclipse/jetty-9.4.x-3743-xmlconfig-locations
Issue #3743 - Using Location based XmlConfiguration where possible
2019-06-10 11:08:51 -05:00
Joakim Erdfelt 1683df2da6 Putting new JMH test in correct place (fix from last merge) 2019-06-10 10:04:30 -05:00
Simone Bordet 826d68e80a Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2019-06-10 11:41:47 +02:00
Simone Bordet 5346980dbb Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2019-06-10 11:29:25 +02:00
Joakim Erdfelt 550fb99e86 Issue #3698 - fixing javadoc 2019-06-07 07:01:06 -05:00
Simone Bordet dd79b516f3 Fixes #3750 - NPE in WebSocketClient.toString().
Initializing field `sessionTracker` early to avoid NPE.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-06-07 11:36:42 +02:00
Joakim Erdfelt 986dd77e60 Issue #3698 - Applying changes from PR feedback.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-06 16:44:35 -05:00
Joakim Erdfelt 6686083462 Issue #3743 - Using only Location based XmlConfiguration in Jetty itself
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-06 11:55:01 -05:00
Joakim Erdfelt 631f0cd9f6 Issue #3648 - SSL based on WebSocket behavior (CLIENT vs SERVER)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-06 11:39:55 -05:00
Lachlan 62eedebd17
Issue #3705 - WebSocket upgrade failure and CompletableFuture refactor
* Issue #3705 - notify WebSocket framehandler on client upgrade failure

getFrameHandler on the ClientUpgradeRequest no longer takes
the upgrade response, the response must be set later if it is
required by the framehandler implementation

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #3705 - changes from review

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #3705 - throw if FrameHandler could not be created

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* wip

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #3705 - count down the onOpen latch in NetworkFuzzer

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>

* Issue #3705 - WebSocket Session CompletableFuture refactor

- sessionFutures for jetty and javax are now implemented using the
futureCoreSession which will occur after onOpen

- the request and response are set on the FrameHandler before the
upgrade

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-06 08:13:33 +10:00
Lachlan Roberts 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 edcaa4eda7 rename writeIdleTimeout to writeTimeout for javax websockets
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-05 01:48:26 +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 f282ba4758
Merge pull request #3686 from lachlan-roberts/jetty-10.0.x-3666-errorClose
Issue #3666 - error CloseFrames skip frames in the FrameFlusher queue
2019-06-04 13:43:54 +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 a6b2bd86ef Issue #3698 - Changes based on review from @sbordet
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-03 15:52:41 -05: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 6681da7e74 Issue #3666 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-03 11:18:41 +10:00
Simone Bordet 567c5a4f55 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2019-05-30 12:49:47 +02:00
Simone Bordet 0cf91c91e1 Issue #3696 - Unwrap JavaxWebSocketClientContainer.connectToServer() exceptions.
Improved exception unwrapping.
Code cleanups.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-05-29 19:21:00 +02:00
Simone Bordet 3d20d9c51a Merge branch 'jetty-10.0.x-3696-connectToServer-ExecutionException' of https://github.com/lachlan-roberts/jetty.project into lachlan-roberts-jetty-10.0.x-3696-connectToServer-ExecutionException 2019-05-29 19:02:59 +02:00
Michael Hausegger fdcbb214f8 Added tests for decoders
Signed-off-by: Michael Hausegger <hausegger.michael@googlemail.com>
2019-05-29 17:43:19 +02:00
Michael Hausegger 564ac4a2d3 Added Unit Tests for ReflectUtil.
Signed-off-by: Michael Hausegger <hausegger.michael@googlemail.com>
2019-05-29 17:09:45 +02:00
Greg Wilkins 3e0e6a73c7
Some fixes for running cometd6 on jetty-10 (#3702)
* Some fixes from testing cometd-6

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-28 17:08:38 +02:00
Lachlan Roberts 77d95d039c Issue #3696 - unwrap ExecutionException in javax WS connectToServer
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-28 11:55:31 +10:00
Lachlan 49356bb5c5
Merge pull request #3660 from lachlan-roberts/jetty-10.0.x-configuration-refactor
jetty-10 WebSocket configuration refactor
2019-05-24 10:40:30 +10:00
Lachlan Roberts e5a6910be4 Issue #3666 - changes from review
- code cleanups
- made SHUTDOWN 1001 status an abnormal close status

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-24 05:58:02 +10:00
Lachlan Roberts 9e09f76fda Issue #3666 - error CloseFrames skip frames in the FrameFlusher queue
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-24 05:54:49 +10:00
olivier lamy 68fa24e463 fix bad merge
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-05-23 16:31:02 +10:00
Lachlan 19e80ff788
Merge pull request #3685 from lachlan-roberts/jetty-10.0.x-83-sessiontrackingtest-failures
Issue #83 - reworked SessionTrackingTest to fix intermittent failures
2019-05-23 16:10:30 +10:00
olivier lamy d377db5d26 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2019-05-23 14:18:39 +10:00
Lachlan Roberts d6c68c4911 Merge remote-tracking branch 'eclipse/jetty-10.0.x' into jetty-10.0.x-configuration-refactor
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-23 09:03:27 +10:00
Lachlan Roberts 52cc4f6c22 Issue #83 - reworked SessionTrackingTest to fix intermittent failures
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-22 17:16:52 +10:00
Lachlan Roberts f4990dd0f5 prefer the field and variable name of coreSession instead of session
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-22 08:29:05 +02:00
Lachlan Roberts 491ff5eb93 rename WebSocketChannel to WebSocketCoreSession
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-22 08:29:05 +02:00
Lachlan Roberts 5f62e0f2db store shared websocket components as attributes and not beans
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-21 18:56:53 +10:00
Lachlan Roberts e31009cb06 WebSocketCoreClient no longer stores configuration and can be shared
configuration moved to ClientUpgradeRequest

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-05-21 11:33:06 +10:00
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
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
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
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
Lachlan Roberts 5eed464730 Issue #3382 - delay any frames received while suspended until resumed
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-03 17:24:40 +11:00
Lachlan Roberts 7df8140137 Issue #3494 - failures in testRemoteDisconnect because of timeout
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-03 14:50:37 +11:00
Lachlan Roberts 607a870d8e Issue #3494 - fixes to testStopLifecycle
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-04-03 10:34:53 +11:00
Simone Bordet 9c13cf3a52 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-04-02 17:37:56 +02:00
Simone Bordet c4b2621f56
Merge pull request #3480 from eclipse/jetty-9.4.x-3464-split_sslcontextfactory
Issue #3464 - Split SslContextFactory into Client and Server
2019-04-02 12:39:37 +02:00
lachan-roberts 50c193c23b Issue #3494 - fix ClientCloseTest.testWriteException()
Nulling out values in WebSocketAdapter causes race conditions when
trying to access session and endpoint externally

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

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

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-04-01 11:19:23 +11:00
lachan-roberts 8f29ea04cd Issue #3382 - implement Session.suspend() for jetty 10 websocket-api
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2019-03-29 20:16:20 +11:00
Lachlan Roberts 717d7300ac adding missing file headers for JettyWebSocketServlets
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-28 16:22:10 +11:00
Lachlan Roberts 81960e3da8 Issue #3484 - make WebSocketServlet generic
WebSocketServlet could only be used with the jetty-websocket-api
make this generic and add implementation in websocket-server

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

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-28 16:22:10 +11:00
Lachlan Roberts 3c61a92ac8 only protectAndExpose api and server for jetty-websockets
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-28 16:22:10 +11:00
Lachlan Roberts 97ff7ed9c0 Issue #3106 - changes from review, adding javadoc
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-28 14:30:11 +11:00
Lachlan Roberts 45b2c548b0 Issue #3106 - backport WebSocket connection stats from jetty-10
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-03-28 14:30:11 +11:00