Commit Graph
325 Commits
Author SHA1 Message Date
James Coglan fa11841bfa Don't catch errors from event listeners. Instead, make sure that in all parsing methods in Hybi, @stage is set before any user called is invoked so the parser is in the right state before code that might raise is called. 2015-07-05 18:52:53 +01:00
James Coglan f11d5905d2 Merge pull request #28 from ioquatix/strem-reader-refactoring
Improve performance of StreamReader by reducing the number of buffer reallocations done.
2015-07-05 16:26:32 +01:00
James Coglan 83d317add2 Rescue from Exception when calling event listeners, and use the name 'error' for caught exceptions. 2015-07-05 15:31:36 +01:00
Samuel Williams 46f5ac8c6b Improve performance of StreamReader by reducing the number of buffer reallocations done. 2015-07-05 23:24:35 +09:00
James Coglan 585eded63d Remove unnecessary code to remove whitespace from Base64 output. 2015-07-04 21:13:06 +01:00
James Coglan 8eccf044b0 Change stage in the Base.shutdown() method to that all parsers stop processing input. 2015-07-04 21:06:50 +01:00
James Coglan f218999304 If an event listener emits an error, close the connection with code 1011. 2015-07-04 20:54:42 +01:00
James Coglan 767f4648da Document that on() *adds* a callback, rather than *setting* one, i.e. it does not remove any prior callbacks. 2015-07-04 19:31:58 +01:00
James Coglan d69cdaba97 Allow event listeners to be passed as normal rather than block arguments.
This discourages the inappropriate use of 'return' inside event
listeners. Also, we return the listener, so that the caller has a
reference to it in case they do pass a block.
2015-07-04 19:28:49 +01:00
James Coglan 7af53b5be0 Add a pong() command for sending unsolicited pong frames. 2015-07-04 18:49:46 +01:00
James Coglan ba39c553b6 Bump the Ruby versions for Travis. 2015-06-02 22:02:28 +01:00
James Coglan 6720cb2b4a The client should use secure random numbers for Sec-WebSocket-Key, and we should use the Base64.strict_encode function everywhere. 2015-06-02 22:01:22 +01:00
James Coglan 2bed2b6be5 List Sec-WebSocket-Extensions in the set of expected headers. 2015-04-09 18:29:35 +01:00
James Coglan c074c9dd10 Bump version to 0.5.4. 0.5.4 2015-03-29 23:14:59 +01:00
James Coglan 536e353bd4 Replace 'iff' with 'if and only if'. 2015-03-28 19:45:00 +00:00
James Coglan 168082b072 Test on Ruby 2.2.1. 2015-03-26 09:45:47 +00:00
James Coglan d6b147f2e0 Fail the connection when the server receives an invalid Sec-WebSocket-Extensions header. 2015-03-26 09:43:59 +00:00
James Coglan b78ed7706d Don't send a close frame in response to receiving one, if we already sent a close frame. 2015-03-14 10:03:26 +00:00
James Coglan 47fe3a7479 Bump version to 0.5.3. 0.5.3 2015-02-22 21:05:19 +00:00
James Coglan de23229e7f Don't parse incoming data if the client is already closed. This stops the headers being interpreted as WebSocket data if the client is closed before receiving the server's handshake. 2015-02-21 12:36:32 +00:00
James Coglan fcef3f6a31 Bump version to 0.5.2. 0.5.2 2015-02-19 22:43:31 +00:00
James Coglan 1e3cdbbd8c Test on Ruby 2.1.5 and 2.2.0. 2015-02-19 21:16:16 +00:00
James Coglan 2fd83762e0 Remove lines accidentally committed to Gemfile. 2015-02-16 09:42:03 +00:00
James Coglan 95c0261505 Don't emit further error/close events if the driver is already closing. 2015-02-16 09:08:18 +00:00
James Coglan 487965545e Bump version to 0.5.1. 0.5.1 2014-12-18 02:15:19 +00:00
James Coglan 7b4352bb2f Throw an error if drivers are created with unrecognised options. 2014-12-17 22:09:58 +00:00
James Coglan b99ab25583 Fix some string/array discrepancies in the hixie-{75,76} drivers. 0.5.0 2014-12-13 13:34:11 +00:00
James Coglan f02be94880 Bump version to 0.5.0 and document how to add extensions. 2014-12-13 13:14:11 +00:00
James Coglan e3e842a31d Don't test on jruby-18mode. 2014-12-09 22:22:45 +00:00
James Coglan 9bc3b9b3f6 Mistakenly used bytesize on an array. 2014-12-06 10:38:03 +00:00
James Coglan 01c1a762e0 Don't expose the frame structure of messages, only expose their opcode and RSV headers. Extensions will mess with frame boundaries so depending on frame structure won't work. 2014-12-05 23:07:47 +00:00
James Coglan ef862fd341 Serialise the FIN and RSV bits of frames correctly. 2014-12-05 19:27:39 +00:00
James Coglan eb20069011 Migrate the internal representation of buffers from arrays to ASCII-8BIT strings, since this is what we're planning on handing off to extensions. 2014-12-05 09:17:09 +00:00
James Coglan ef4fc7c57a Migrate the Hybi driver's internals to use Frame and Message objects compatible with websocket-extensions. 2014-12-02 22:51:42 +00:00
James Coglan 93c7cf16b3 Update the release date for 0.8.0. 0.4.0 2014-11-08 19:48:09 +00:00
James Coglan 1a9f2af571 Use the Headers class to build the default headers for handshakes rather than using loads of ugly string operations. 2014-11-08 17:44:34 +00:00
James Coglan ec6803e19c Remove the start_tls protocol and replace it by the proxy emitting a 'connect' event. 2014-11-08 16:45:06 +00:00
James Coglan f7e32e76ee Test on rbx 2.2, since 2.3 seems to be producing a lot of build errors e.g. https://travis-ci.org/faye/websocket-driver-ruby/jobs/40244931. 2014-11-06 23:57:16 +00:00
James Coglan 5078cceb60 Document the start_tls method that the proxy driver calls for wss: endpoints. 2014-11-06 23:44:09 +00:00
James Coglan 0a200bbdef Refactor proxy support into a separate class that represents the proxy connection as a real object. 2014-11-06 23:37:13 +00:00
James Coglan 286109496e Bump version to 0.4.0. 2014-10-27 23:21:01 +00:00
James Coglan f997ddf429 Remove the 'rubysl' requirement for running rbx tests. 2014-10-27 21:50:41 +00:00
James Coglan 8392f77a58 Add support for connecting via HTTP proxies. 2014-10-27 21:49:40 +00:00
James Coglan 648e0c4cd1 Fix C compilation warnings about interleaved declarations and code. 2014-10-27 21:15:48 +00:00
James Coglan 4ffaca8319 Bump version to 0.3.5. 0.3.5 2014-10-04 08:43:45 +01:00
James Coglan 58c19e7659 If driver.close is called before driver.start, the driver should close. 2014-10-03 00:36:50 +01:00
James Coglan 72972be911 Test on Ruby 2.1.3. 2014-09-22 22:41:29 +01:00
James Coglan ba360ec286 Merge pull request #22 from Asmod4n/patch-1
fail_request didn't accept a required argument
2014-09-22 22:41:11 +01:00
Asmod4n c04bfc4c19 fail_request didn't accept a required argument 2014-09-21 00:57:24 +02:00
James Coglan 5393f89526 Use the SVG build status icon from Travis. 2014-09-07 21:07:02 +01:00