Greg Wilkins
070ce9dd22
Merge remote-tracking branch 'origin/master' into jetty-9.1
...
Conflicts:
jetty-start/src/main/java/org/eclipse/jetty/start/Main.java
jetty-webapp/src/main/java/org/eclipse/jetty/webapp/WebAppContext.java
2013-09-09 15:41:17 +10:00
Mikhail Mazursky
767faece5c
[Bug 415999] Fix some of FindBugs warnings
...
Mostly not closed streams/DB resources are fixed. But also less
important things.
Signed-off-by: Mikhail Mazursky <mikhail.mazursky@gmail.com>
2013-09-09 00:24:31 -04:00
Joakim Erdfelt
73f06c2a14
412205 - SSL handshake failure leads to unresponsive UpgradeConnection
...
+ Passing failure() back out of the UpgradeConnection
2013-09-03 13:15:04 -07:00
Greg Wilkins
e4235ea070
415744 - Reduce Future usage in websocket
2013-08-23 19:58:46 +10:00
Joakim Erdfelt
975d9870d2
WebSocket - more code cleanup
2013-08-20 16:28:51 -07:00
Joakim Erdfelt
8c77fe2404
WebSocket - addressing bug in Partial message support
2013-08-20 15:31:12 -07:00
Joakim Erdfelt
3dbcc04b73
Breaking apart WebSocketFrame into sub-frame types
...
+ Performance improvements?
+ Less copying of data
2013-08-19 15:26:07 -07:00
Joakim Erdfelt
26faa5f0d7
WebSocket - fixing flush->write->complete spinning loop
2013-08-16 13:08:10 -07:00
Joakim Erdfelt
e39b48c90d
Fixing up javadoc issues in WebSocket classes
2013-08-14 10:54:07 -07:00
Joakim Erdfelt
1e39b7d476
WebSocket / Performance - cleaning up tests from fallout on bug 414913
...
+ Copying payload in test cases for comparison reasons, as the reuse of
payloads by the implementation now means that the payload might be
masked by a random client side mask.
+ Cleaning up Abnormal Close handling for idle timeout cases
+ Fixing logging a tag
+ Fixing intermittent test failure in jsr EchoTest
2013-08-12 16:29:25 -07:00
Joakim Erdfelt
46b3dc10c8
414913 - WebSocket / Performance - reduce ByteBuffer allocation/copying during generation/writing
...
+ Splitting Header bytes from payload bytes.
+ returning List<ByteBuffer> from WriteBytesProvider now
+ returning possibly more than 1 frame per
WriteBytesProvider.getByteBuffers() for submission to
Endpoint.write()'s gathered write of multiple bytebuffers
2013-08-12 16:29:25 -07:00
Joakim Erdfelt
07041f6439
JSR-356 making HTTP Header map use TreeMap(String.CASE_INSENSITIVE_ORDER)
2013-08-01 10:50:01 -07:00
Joakim Erdfelt
e2f02a7a8a
JSR-356 fixing ServerContainer.setDefault*() method behavior
2013-07-31 14:25:54 -07:00
Joakim Erdfelt
9ebf890d51
WebSocket - supporting WriteCallback in jetty RemoteEndpoint
...
+ new RemoteEndpoint.sendBytes(ByteBuffer, WriteCallback)
+ new RemoteEndpoint.sendString(String, WriteCallback)
2013-07-30 15:25:41 -07:00
Joakim Erdfelt
28b3ee8b13
WebSocket - breaking out unfinished MUX extension into its own module
2013-07-30 15:09:40 -07:00
Joakim Erdfelt
4d36627a63
JSR-356 fixing NPE on bufferPool
2013-07-30 14:32:41 -07:00
Joakim Erdfelt
d967dafe45
JSR-356 - Refactoring Annotated method parameter detection and use
2013-07-24 12:32:15 -07:00
Joakim Erdfelt
5d45486b8d
JSR-356 - Cleaning up sendObject(Object) behavior between Basic & Async
2013-07-15 10:43:39 -07:00
Joakim Erdfelt
931cfa10ce
Merge branch 'master' into javawebsocket-jsr
...
Conflicts:
jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/TomcatServerQuirksTest.java
2013-06-18 12:41:20 -07:00
Joakim Erdfelt
be2cf578ce
400503 - WebSocket - squelch legitimate Exceptions during testing to avoid false positives
2013-06-17 16:34:21 -07:00
Joakim Erdfelt
2da8c9c306
Merge branch 'master' into javawebsocket-jsr
...
Conflicts:
jetty-spdy/spdy-http-server/src/test/java/org/eclipse/jetty/spdy/server/http/ReferrerPushStrategyTest.java
jetty-util/src/main/java/org/eclipse/jetty/util/BufferUtil.java
jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/EventDriver.java
jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/ServletWebSocketRequest.java
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/WebSocketLoadRFC6455Test.java
2013-06-17 10:54:10 -07:00
Joakim Erdfelt
02de232411
405313 - Websocket client SSL hostname verification is broken, always defaults to raw IP as String
...
+ After discussion with simone, we have changed from using IP address to
hostnames in both websocket and spdy.
2013-06-14 11:40:37 -07:00
Joakim Erdfelt
536b8d9504
410469 - UpgradeRequest is sent twice when using SSL, one fails warning about WritePendingException
...
+ Removing manual connectionOpened() in favor of letting endpoint notify.
2013-06-11 08:56:53 -07:00
Joakim Erdfelt
97854b6c5b
JSR-356 adding support for ClientEndpointConfig.Configurator
2013-05-22 15:15:05 -07:00
Joakim Erdfelt
ce0435e099
Cleaning up test output
2013-05-09 14:29:59 -07:00
Joakim Erdfelt
9f82849900
Merge from [master] to [javawebsocket-jsr]
2013-05-09 12:10:57 -07:00
Joakim Erdfelt
4a95621c8b
Creating basic websocket-client examples
2013-05-08 14:18:23 -07:00
Joakim Erdfelt
9ad5ab1ed5
406449 - Session's disconnect not detected
...
+ Vastly cleaned up IOState and ConnectionState behavior
2013-04-30 15:54:41 -07:00
Joakim Erdfelt
ef77b854fa
404911 - WebSocketCloseTest fails spuriously
...
+ Renabling test
+ Using EventQueue from jetty-test-helper instead
+ Standarizing HttpResponseHeaderParser into websocket-common so that
remaining bytebuffer logic is maintained in one place.
+ Making BlockingClient also use HttpResponseHeaderParser
2013-04-26 15:37:46 -07:00
Joakim Erdfelt
a4644dc780
JSR-356 working out server endpoint creation
2013-04-23 11:06:01 -07:00
Joakim Erdfelt
e0d353629f
JSR-356 - updates to Session tracking and start of PathMappings
...
+ Refactored websocket-commons Session creation to be factory based
+ Introduced new org.eclipse.jetty.websocket.common.SessionFactory
+ Made websocket-client and websocket-server use new SessionFactory
+ Introduced JsrSessionFactory to allow for consistent Session creation
even in the Jsr (no more duplciate Session creation)
+ Using JsrSessionFactory in javax-websocket-client-impl
+ Introducing PathMappings to hopefully replace jetty-util's PathMap
+ Using standard ClientEndpointConfig when appropriate.
+ Introducing JettyClientEndpointConfig for annotation based
configurations
+ Renaming EchoSocket used in javax.websocket client testing to
JettyEchoSocket to better indicate that its the Jetty server side
implementation and not the javax.websocket client side socket.
+ Changed IncomingFrames.incomingError() parameter from
WebSocketException to Throwable to match behavior on the JSR
2013-04-09 11:21:59 -07:00
Joakim Erdfelt
4dea484853
Merge branch 'master' into javawebsocket-jsr
2013-04-04 12:03:30 -07:00
Simone Bordet
72219d016b
404610 - Reintroduce ability to disallow TLS renegotiation.
2013-04-04 17:11:01 +02:00
Joakim Erdfelt
3a66b3ec3f
JSR-356 first working annotated @ClientEndpoint echo test
2013-03-28 10:51:45 -07:00
Joakim Erdfelt
fc7526b739
[JSR-356] Refactoring annotated callables to handle any-order rule
2013-03-26 17:30:49 -07:00
Joakim Erdfelt
fd8f2b9753
Merge from [master] -> [javawebsocket-jsr]
2013-03-11 10:57:08 -07:00
Joakim Erdfelt
370bdafc15
Reverting direct ByteBuffer commits
...
+ Reverting commit : 5621f87c81
+ Reverting commit : bbcf0c77b8
2013-02-26 10:41:40 -07:00
Joakim Erdfelt
bbcf0c77b8
Switching to direct ByteBuffers
2013-02-23 16:44:49 -07:00
Joakim Erdfelt
5621f87c81
Switching to direct ByteBuffers
2013-02-23 16:44:49 -07:00
Joakim Erdfelt
dbf3662f90
Refinement of factorymethod approach in WebSocketClient (for cometd to use)
2013-02-22 10:49:49 -07:00
Joakim Erdfelt
12814b02ed
Making WebSocketClient connection stuff pluggable via factory methods
2013-02-22 10:43:47 -07:00
Joakim Erdfelt
61470cde2e
401427 - WebSocket messages sent from onConnect fail to be read by jetty websocket-client
...
+ Adding carryover of bytes remaining from UpgradeConnection to
AbstractWebSocketConnection.parser
2013-02-21 15:32:37 -07:00
Joakim Erdfelt
4fb1bc80da
393473 - Add support for JSR-356 (javax.websocket) draft
...
+ Refactoring EventDriver to be more pluggable (for jsr endpoints)
2013-02-13 13:37:26 -07:00
Joakim Erdfelt
43231d8451
393473 - Add support for JSR-356 (javax.websocket) draft
...
+ Restarting branch, copying over work from November with new JSR-356
Draft 012 api in mind.
2013-02-12 16:19:35 -07:00
Joakim Erdfelt
9ae3c94b22
399520 - Websocket needs session idle timeouts
...
+ Integrated suggestions about AbstractConnection.onReadTimeout()
+ Enabled tests on client side
2013-02-12 13:51:06 -07:00
Joakim Erdfelt
ebaffcfd27
399535 - Websocket-client connect should have configurable connect timeout
...
+ Made default value for connectTimeout be exposed from SelectorManager.
+ Added javadoc on time unit.
2013-02-12 12:56:46 -07:00
Joakim Erdfelt
5c68d23138
400512 - ClientUpgradeRequet.addExtension() should fail if extension is not installed
2013-02-12 11:37:16 -07:00
Joakim Erdfelt
d505f481a4
400255 - Using WebSocket.maxMessageSize results in IllegalArgumentException
2013-02-11 16:24:13 -07:00
Joakim Erdfelt
1480f3d8fc
399669 - Remove WebSocketConnection in favor of websocket.api.Session
2013-01-31 12:09:04 -07:00
Joakim Erdfelt
728201fa3e
Making Simone jubilantly happy :-)
2013-01-30 14:02:52 -07:00
Joakim Erdfelt
b2951bdf5d
396428 - Test for WebSocket masking on client fragments per RFC 6455 Sec 5.1
2013-01-30 13:51:49 -07:00
Joakim Erdfelt
25b0bd73a6
399516 - Websocket UpgradeException should contain HTTP Request/Response information
...
+ Added UpgradeException.requestURI and UpgradeException.responseStatusCode
2013-01-30 13:13:29 -07:00
Joakim Erdfelt
60088fa274
399515 - Websocket-client connect issues should report to websocket onError handlers
2013-01-30 12:15:15 -07:00
Joakim Erdfelt
f46ad8bbab
Using HttpCookieStore.Empty from jetty-util instead
2013-01-30 09:56:09 -07:00
Joakim Erdfelt
5e8aa4eeb3
399421 - Add websocket.api.Session.disconnect() for harsh low level connection disconnect
2013-01-29 15:56:30 -07:00
Joakim Erdfelt
cd38a7999e
399397 - websocket-client needs better upgrade failure checks
...
+ Adding checks on response status code and Connection header (along
with unit tests)
2013-01-29 14:44:56 -07:00
Joakim Erdfelt
4f48bc7e7b
399343 - OnWebSocketConnect should use api.Session parameter instead.
...
+ Changed method signature for WebSocketListener and the various
@OnWebSocket* annotations
2013-01-29 13:22:38 -07:00
Joakim Erdfelt
335611815c
399173: UpgradeRequest.getParameterMap() should never return null
...
+ Making api.UpgradeRequest never return null, but also have no logic on
how to populate the parameter map
+ Using MultiMap in websocket-client for parameter map parsing
+ Using HttpServletRequest.getParameterMap() as-is in websocket-server
+ Adding unit testing for both sides
2013-01-28 17:11:51 -07:00
Joakim Erdfelt
3975ae74cb
Moving test from jetty-parent to jetty-client module
2013-01-25 12:06:17 -07:00
Simone Bordet
1ca0f004c3
Updated signature of setConnectTimeout(int) to setConnectTimeout(long)
...
to comply with field type and getter type.
Removed check that was throwing an exception if connect timeout was set
after start.
2013-01-18 10:35:20 +01:00
Joakim Erdfelt
b938245b14
Adding some javadoc, cleaning up package namespaces where appropriate
2013-01-17 15:41:33 -07:00
Joakim Erdfelt
e0b3c1b926
Making sure cookies are set
2013-01-16 15:11:57 -07:00
Joakim Erdfelt
4660f35210
393733 - WebSocketClient interface should support multiple connections
...
+ Removing deprecated methods from Session
+ Fixing client side UpgradeConnection to handle extension via new
ExtensionStack object
+ Making ExtensionStack.getNegotiatedExtensions() return
List<ExtensionConfig> instead of List<String>
+ Fixing tests that relied on changes
2013-01-16 15:11:57 -07:00
Joakim Erdfelt
1dfee4c992
393733 - WebSocketClient interface should support multiple connections
...
+ Reworking Connection Timeout handling
2013-01-16 15:11:57 -07:00
Joakim Erdfelt
f20f0481b4
93733 - WebSocketClient interface should support multiple connections
...
+ Cleaning up no longer used items in WebSocketClient
+ Adding back Connect Timeout handling (unreliable atm)
+ Making ConnectPromise a FuturePromise with Runnable, no longer need
FutureTask
+ Making sure Session is properly opened
+ Removing need for EventDriver.awaitActiveSession()
2013-01-16 15:11:57 -07:00
Joakim Erdfelt
acaa2aa4de
393733 - WebSocketClient interface should support multiple connections
...
* Initial pass at merging functions of WebSocketClientFactory into
WebSocketClient itself, eliminating the need for the factory.
* Introducing ConnectPromise to separate the connect future from
the client itself, hopefully allowing for multiple connections
from the client instance.
2013-01-16 15:11:56 -07:00
Joakim Erdfelt
eff1262e49
398105 - Clean up WebSocketPolicy
2013-01-16 15:11:56 -07:00
Jesse McConnell
e1c516c7d1
merge from jetty-8 and update license blocks.
2013-01-11 17:04:53 -06:00
Joakim Erdfelt
ecb472f30b
Introducing WriteBytesProvider
2012-12-14 16:12:48 -07:00
Joakim Erdfelt
9bbfcd7e62
More websocket threading issues
...
* Using new IOState object in AbstractWebSocketConnection to better
manage close handshake state and replies.
* Cleaning up many bad BufferPool.release() calls against ByteBuffers
that didn't arrive from BufferPool.acquire()
* Removing many ByteBuffer.wrap() calls.
* Fixing FrameCompression / MessageCompression extension handling
of ByteBuffers
2012-12-12 11:06:15 -07:00
Simone Bordet
756b13700b
Handling properly connect exceptions, notifying the failure to the websocket client.
2012-12-12 18:34:22 +01:00
Simone Bordet
f3d53918b5
Guarding against NPE if the masker is null.
2012-12-12 14:14:18 +01:00
Joakim Erdfelt
9a71d75003
Fixing threading issue in testcase
2012-12-11 13:01:54 -07:00
Jesse McConnell
d161673ff7
Add masker to client factory
2012-12-11 07:44:52 -06:00
Joakim Erdfelt
4ff9c2cea1
Setting problematic test to @Ignore
2012-12-10 10:20:48 -07:00
Joakim Erdfelt
baaf94eeae
Fixing write of large websocket frames (25MB+)
...
+ Using ForkInvoker from util
+ Using FrameBytes logic from SPDY
+ Fixing bad flush logic
+ Fixing lazy BufferPool.release() logic
+ Fixing Buffer reuse issue
+ Fixing BlockheadServer to use ExtensionStack
+ Moving WriteResultFuture helper classes out of tests into main
+ Introducing common IOState handling for common close handshake use
2012-12-10 09:23:18 -07:00
Joakim Erdfelt
11cbe274af
395344 Move JSR-356 (Java WebSocket API) work off to Jetty 9.1.x
2012-11-28 16:55:13 -07:00
Joakim Erdfelt
2d851212ba
Validating obtaining Local/Remote address from connection object
2012-11-27 15:23:55 -07:00
Joakim Erdfelt
d8b1444609
Changing to ClientUpgrade(Request|Response)
2012-11-27 15:00:22 -07:00
Greg Wilkins
7737dc8c76
394854 Implemented Promise
2012-11-23 12:18:51 +11:00
Joakim Erdfelt
42ec683297
Merge from 'master' to 'ws-refactor'
2012-11-12 16:22:11 -07:00
Joakim Erdfelt
80f5fa1a18
Attempting to get Mux sub-channel to flow thru server as well
2012-11-12 16:02:41 -07:00
Joakim Erdfelt
dd0b1a39b8
Stubbing out mux client/server specific pieces
2012-11-12 16:02:41 -07:00
Joakim Erdfelt
8548331735
Ripping out javax.net.websocket.extension.* SPI as it is going away
2012-11-12 12:36:39 -07:00
Joakim Erdfelt
802e97e6fb
Removing WebSocketClient.getConnection() as inappropriate
2012-11-07 11:00:46 -07:00
Joakim Erdfelt
4a8a1228fc
Moving client-side mux specifics to internal
2012-11-07 06:06:08 -07:00
Joakim Erdfelt
473ff032ae
Promoting ClientUpgradeRequest and ClientUpgradeResponse to non-internal use
2012-11-07 06:05:36 -07:00
Joakim Erdfelt
fc371fc7e6
UpgradResponse headers are now case insensitive
2012-11-06 17:07:55 -07:00
Joakim Erdfelt
9be64bab11
Making changes to client / server from api / common
2012-11-06 16:58:54 -07:00
Joakim Erdfelt
e310b0a0ec
Attempting to get Mux sub-channel to flow thru server as well
2012-11-02 11:20:36 -07:00
Greg Wilkins
52464a5ba6
Merge remote-tracking branch 'origin/jetty-8'
...
Conflicts:
jetty-annotations/src/main/java/org/eclipse/jetty/annotations/AnnotationParser.java
jetty-annotations/src/main/java/org/eclipse/jetty/annotations/ResourceAnnotationHandler.java
jetty-client/src/test/java/org/eclipse/jetty/client/SslHttpExchangeTest.java
jetty-client/src/test/java/org/eclipse/jetty/client/SslSecurityListenerTest.java
jetty-deploy/src/main/java/org/eclipse/jetty/deploy/WebAppDeployer.java
jetty-deploy/src/main/java/org/eclipse/jetty/deploy/providers/ContextProvider.java
jetty-http/src/main/resources/org/eclipse/jetty/http/mime.properties
jetty-http/src/test/java/org/eclipse/jetty/http/HttpFieldsTest.java
jetty-io/src/main/java/org/eclipse/jetty/io/nio/SelectChannelEndPoint.java
jetty-jmx/src/main/java/org/eclipse/jetty/jmx/MBeanContainer.java
jetty-jmx/src/main/java/org/eclipse/jetty/jmx/ObjectMBean.java
jetty-overlay-deployer/src/main/java/org/eclipse/jetty/overlays/OverlayedAppProvider.java
jetty-plus/src/main/java/org/eclipse/jetty/plus/annotation/Injection.java
jetty-plus/src/main/java/org/eclipse/jetty/plus/security/DataSourceLoginService.java
jetty-proxy/src/main/java/org/eclipse/jetty/proxy/ProxyServlet.java
jetty-rewrite/src/main/java/org/eclipse/jetty/rewrite/handler/ProxyRule.java
jetty-security/src/main/java/org/eclipse/jetty/security/authentication/FormAuthenticator.java
jetty-server/src/main/java/org/eclipse/jetty/server/session/JDBCSessionIdManager.java
jetty-spdy/spdy-http-server/src/main/java/org/eclipse/jetty/spdy/server/proxy/ProxyHTTPSPDYConnection.java
jetty-spdy/spdy-jetty-http/src/main/java/org/eclipse/jetty/spdy/http/ServerHTTPSPDYAsyncConnection.java
jetty-start/src/main/java/org/eclipse/jetty/start/Main.java
jetty-util/src/main/java/org/eclipse/jetty/util/Fields.java
jetty-websocket/src/main/java/org/eclipse/jetty/websocket/WebSocketClientFactory.java
jetty-websocket/src/main/java/org/eclipse/jetty/websocket/WebSocketConnectionRFC6455.java
jetty-websocket/src/test/java/org/eclipse/jetty/websocket/WebSocketClientTest.java
jetty-websocket/src/test/java/org/eclipse/jetty/websocket/WebSocketMessageRFC6455Test.java
test-jetty-nested/src/main/java/org/eclipse/jetty/nested/Dump.java
test-jetty-webapp/src/main/java/com/acme/Dump.java
2012-11-02 14:08:05 +11:00
Joakim Erdfelt
88ed9ff710
Stubbing out mux client/server specific pieces
2012-11-01 13:43:33 -07:00
Joakim Erdfelt
3e2aee293e
Cleaning up close handshake and noisy tests
2012-10-23 12:16:29 -07:00
Greg Wilkins
2b13648b0e
392237 fixed many TODOs and many minor code cleanups
2012-10-19 16:17:30 +11:00
Joakim Erdfelt
57abd6fded
Per hybi list, adding no-cache to outgoing client request to prevent bad
...
intermediaries from attempting to cache the upgrade response.
2012-10-15 07:18:35 -07:00
Joakim Erdfelt
0cc7b5f907
Bug 391590 - WebSocket client needs ability to set requested extensions
...
* Adding UpgradeRequest.addExtensions(String ... extConfigs) interface
* Implementing in WebSocket Client & WebSocket Server
* Fixing case sensitive ClientUpgradeRequest.getHeaderValues(String key)
2012-10-10 11:19:06 -07:00
Joakim Erdfelt
cae79aabc5
Fixing naming
2012-10-10 11:15:44 -07:00
Simone Bordet
2748a9381e
jetty-9: Added support for connect timeout.
2012-10-08 11:05:26 +02:00
Joakim Erdfelt
41ea028706
Adding websocket client example
2012-10-04 14:02:36 -07:00
Joakim Erdfelt
d23215f3f4
Bug 391140 - Implement x-webkit-deflate-frame extension as-used by Chrome/Safari
2012-10-04 10:11:50 -07:00