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
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
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
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
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
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
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
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
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
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
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
Lachlan Roberts
4ee399be1e
WebSocket core test cleanups
...
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-02-28 18:14:34 +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
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
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
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
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
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
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
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