Commit Graph

1181 Commits

Author SHA1 Message Date
Joakim Erdfelt 23ce4235d8 403817 - Use of WebSocket Session.close() results in invalid status code
+ Fixing WebSocketSession.close() to delgate NORMAL close properly
2013-03-20 09:28:07 -07:00
Joakim Erdfelt dd4394aa77 403380 - Introduce WebSocketTimeoutException to differentiate between EOF on write and Timeout 2013-03-19 12:05:29 -07:00
Joakim Erdfelt 4d52c3ca8e 402984 - WebSocket Upgrade must honor case insensitive header fields in upgrade request 2013-03-19 11:28:23 -07:00
Joakim Erdfelt 8a9f1f94e8 403373 - WebSocket change timeout log level from warn -> info 2013-03-14 10:00:02 -07:00
Joakim Erdfelt 897c35c2cb [maven-release-plugin] prepare for next development iteration 2013-03-08 11:33:23 -07:00
Joakim Erdfelt cc6196af50 [maven-release-plugin] prepare release jetty-9.0.0.v20130308 2013-03-08 11:33:15 -07:00
Simone Bordet f01e4f0b2c 402757 - WebSocket client module can't be used with WebSocket server module in the same WAR.
Introduced a shaded artifact that relocates the websocket-common classes, so they cannot
be shared with the server.
The shaded artifact has classifier "hybrid", and users will need to exclude the websocket-common
dependency manually when using the classified artifact.
2013-03-08 19:05:48 +01:00
Joakim Erdfelt 7fc38f6c0f [maven-release-plugin] prepare for next development iteration 2013-03-07 19:14:19 -07:00
Joakim Erdfelt 96d045442f [maven-release-plugin] prepare release jetty-9.0.0.v20130307 2013-03-07 19:14:11 -07:00
Jesse McConnell 778ee1411b [maven-release-plugin] prepare for next development iteration 2013-03-06 10:21:46 -06:00
Jesse McConnell d916078711 [maven-release-plugin] prepare release jetty-9.0.0.v20130306 2013-03-06 10:21:38 -06:00
Joakim Erdfelt 3be67fa5d1 402008 - Websocket blocking write hangs when remote client dies (or is killed) without going thru Close handshake
+ Fixing close and callback failure notificiations to address issues
   with suddenly killed clients.
2013-03-05 13:54:23 -07:00
Joakim Erdfelt 2d74857ffa 402008 - Strange behavior when clients are suddenly killed
+ Fixing close and callback failure notificiations to address issues
   with suddenly killed clients.
2013-03-05 13:11:50 -07:00
Joakim Erdfelt 79630de1f1 402148 - Update Javadoc for WebSocketServlet for new API 2013-03-01 09:31:29 -07:00
Joakim Erdfelt 9e78529a17 402154 - WebSocket / Session.setIdleTimeout(ms) should support in-place idle timeout changes
+ Made WebSocketSession delegate idle timeouts to LogicalConnection,
   that way the EndPoint or Mux can manage the idle timeout accordingly.
2013-03-01 09:24:03 -07:00
Simone Bordet e6fed09129 402075 - Massive old gen growth when hit by lots of non persistent connections.
Replaced usages of TimerScheduler with ScheduledExecutorScheduler.
2013-03-01 15:19:51 +01:00
Joakim Erdfelt c4af34d4e1 Adding smaller example of the WebSocketCreator use 2013-02-27 08:54:01 -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 29b2118870 [maven-release-plugin] prepare for next development iteration 2013-02-26 09:20:45 -07:00
Joakim Erdfelt 2b82b54f6d [maven-release-plugin] prepare release jetty-9.0.0.RC2 2013-02-26 09:20:45 -07:00
Jan Bartel 42475b1564 Merge remote-tracking branch 'origin/jetty-8'
Conflicts:
	jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java
2013-02-26 12:50:30 +11:00
Joakim Erdfelt 283cd58147 Merge branch 'jetty-7' into jetty-8 2013-02-25 16:54:16 -07:00
Joakim Erdfelt 2ed0dc8fff Fixing websocket testcase 2013-02-25 16:53:32 -07:00
Joakim Erdfelt 7a2b775f03 Reducing log noise 2013-02-23 16:44:49 -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
Jan Bartel e95301b906 Merge remote-tracking branch 'origin/jetty-8'
Conflicts:
	jetty-servlets/src/test/java/org/eclipse/jetty/servlets/ProxyServletTest.java
	jetty-websocket/src/main/java/org/eclipse/jetty/websocket/WebSocketFactory.java
	jetty-websocket/src/test/java/org/eclipse/jetty/websocket/helper/SafariD00.java
2013-02-22 18:37:29 +11:00
Joakim Erdfelt 95f166b374 Merge branch 'jetty-7' into jetty-8 2013-02-21 17:34:19 -07:00
Joakim Erdfelt c7dd114cb6 401317 - Make Safari 5.x websocket support minVersion level error more clear
+ Making error message about minVersion configurable more clear on both
   the Logging on the server side, and the HTTP/1.1 400 error response
   line
2013-02-21 17:23:17 -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 660f6d2e85 399520 - Websocket Server Connection needs session idle timeouts 2013-02-21 08:21:01 -07:00
Joakim Erdfelt 246db2b08d 401177 - Make org.eclipse.jetty.websocket.api.WebSocketAdapter threadsafe
+ Making some subtle changes to address thread safety of the WebSocketAdapter
2013-02-21 07:30:28 -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 4daba06175 400255 - Using WebSocket.maxMessageSize results in IllegalArgumentException
+ Adding testcase that replicated failure reported in issue
 + Fixing AnnotatedEventDriver error with input size
 + Fixing WebSocketSession detection of isOpen()
 + Fixing BigEchoSocket test for session.isOpen()
2013-02-11 16:50:01 -07:00
Joakim Erdfelt d505f481a4 400255 - Using WebSocket.maxMessageSize results in IllegalArgumentException 2013-02-11 16:24:13 -07:00
Joakim Erdfelt 4dc3ed38c2 [maven-release-plugin] prepare for next development iteration 2013-02-05 10:00:36 -07:00
Joakim Erdfelt ed24f78498 [maven-release-plugin] prepare release jetty-9.0.0.RC0 2013-02-05 10:00:36 -07:00
Jesse McConnell e073ceb06d [maven-release-plugin] prepare for next development iteration 2013-02-05 10:00:36 -07:00
Jesse McConnell 2f2ad287af [maven-release-plugin] prepare release jetty-9.0.0.RC0 2013-02-05 10:00:35 -07:00
Joakim Erdfelt b810ce6535 Adding synchronize for multi-threaded write concerns 2013-02-01 09:20:33 -07:00
Joakim Erdfelt 89d8972e74 399689 - Websocket RFC6455 extension handshake fails if server doesn't have extension
+ Fixing the fix that fixed the negotation to fix a bad fixation of the
  negotiated extensions
2013-01-31 16:14:30 -07:00
Joakim Erdfelt 552ec4ae36 399689 - Websocket RFC6455 extension handshake fails if server doesn't have extension
+ Correcting logic in HandshakeRFC6455 with regards to negotiated extensions
2013-01-31 15:36:30 -07:00
Joakim Erdfelt 261809380a 395444 - Disabling Websocket Compress Extensions (not working with Chrome / deflate problem)
+ Adding test case example of many server messages in a row
+ Disabling various compression extensions till a solution is found
2013-01-31 12:41:20 -07:00
Joakim Erdfelt 242f7f0f45 399568 - OSGi tests can't find websocket classes
+ Changing classloading in WebSocketServlet to be more OSGi friendly
2013-01-31 12:15:22 -07:00
Joakim Erdfelt 1480f3d8fc 399669 - Remove WebSocketConnection in favor of websocket.api.Session 2013-01-31 12:09:04 -07:00
Joakim Erdfelt 1aa6e63d25 395232 - UpgradeRequest object passed to createWebSocket() has null Session
+ Server side UpgradeRequest.getSession() now has HttpSession (if
  it has already been created)
2013-01-31 11:26:17 -07:00
Jesse McConnell 5c58878c3c [maven-release-plugin] prepare for next development iteration 2013-01-31 11:34:38 -06:00
Jesse McConnell ebbe37294f [maven-release-plugin] prepare release jetty-8.1.9.v20130131 2013-01-31 11:34:30 -06:00
Joakim Erdfelt 32cb1045ba Fixing logger name 2013-01-31 09:35:27 -07:00
Jesse McConnell a5e1e04af1 [maven-release-plugin] prepare for next development iteration 2013-01-31 08:42:20 -06:00
Jesse McConnell b7fb18fd65 [maven-release-plugin] prepare release jetty-7.6.9.v20130131 2013-01-31 08:42:12 -06: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 871b64cf38 Bug 399344 - Add missing @OnWebSocketError annotation 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 7adc77a5d5 Adding -tests classifier artifacts to deploy/release to aide in quickstart documentation 2013-01-25 12:19:17 -07:00
Joakim Erdfelt 3975ae74cb Moving test from jetty-parent to jetty-client module 2013-01-25 12:06:17 -07:00
Joakim Erdfelt 7211ce230e Removing unused websocket-core files, detrius from old merge 2013-01-23 10:50:37 -07:00
Joakim Erdfelt bfba20565a Removing out of date mux diagrams 2013-01-23 10:49:07 -07:00
Joakim Erdfelt f9cb26b5a7 Removing jsr diagrams from common, should only exist in jsr branch (for now) 2013-01-23 10:48:51 -07:00
Joakim Erdfelt c31f3a5501 Updating diagrams 2013-01-23 10:47:59 -07:00
Joakim Erdfelt 2e216dddb7 Consolidating WebSocketPolicy.setMax*Size() into single setMaxMessageSize() 2013-01-18 09:27:56 -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
Jesse McConnell 863944873d merge from 7 and update license blocks for 2013 2013-01-11 15:01:16 -06:00
Jesse McConnell a4dbb5823c update license blocks for 2013 2013-01-11 14:57:51 -06:00
Greg Wilkins 31def06214 jetty-9 URI parsing passed ByteBuffer so that strange query string encodings can be supported 2012-12-24 19:17:00 +11:00
Joakim Erdfelt 5b7c19e38d Reducing test logging noise by squelching stack traces in test cases where they are expected 2012-12-21 14:22:10 -07:00
Joakim Erdfelt 1936a0fc51 Fixing harmless NPE seen during testing. 2012-12-21 14:00:36 -07:00
Joakim Erdfelt 0ef9b23724 Fixing end user callback failure if runtime exception occurs, renaming enque to enqueue 2012-12-19 10:06:23 -07:00
Joakim Erdfelt ca1c3db642 Removing WriteResult class 2012-12-14 16:12:48 -07:00
Joakim Erdfelt e308f843db Replacing FrameBytes tree with WriteBytesProvider class 2012-12-14 16:12:48 -07:00
Joakim Erdfelt ecb472f30b Introducing WriteBytesProvider 2012-12-14 16:12:48 -07:00
Greg Wilkins 6bfc19be1b jetty-9 optimisation to dispatch before parsing so that handling is done in same thread 2012-12-14 09:50:22 +11:00
Joakim Erdfelt c8c15a4063 Removing test for inputClosed on BlockheadClient to fix test failure. 2012-12-13 13:28:05 -07:00
Joakim Erdfelt 60598c5c73 396518 - Websocket AB Tests should test for which side disconnected and closed.wasClean
+ adding AbstractWebSocketConnection.onWriteWebSocketClose() to allow
  for different behavior between client vs server TCP disconnect logic.
2012-12-13 13:28:05 -07:00
Jesse McConnell bf3c5c7922 add in some handshake state tracking into IOState to help track who initiated closes 2012-12-13 12:18:30 -06:00
Joakim Erdfelt a386a46045 396518 - Websocket AB Tests should test for which side disconnected and closed.wasClean
* Adding stubbed out example in Fuzzer for wasClean.
2012-12-13 09:33:12 -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