Commit Graph

412 Commits

Author SHA1 Message Date
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 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
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
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
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
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 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
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
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
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 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
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 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 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 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
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
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
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
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 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
olivier lamy 63f2023e05 happy new year!!
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-01-01 12:17:53 +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