88 Commits
Author SHA1 Message Date
James Coglan 24d3e2ec85 Change the server() method to rack(). 2013-04-21 18:25:41 +02:00
James Coglan 10da09afbd Always emit the empty string instead of nil as the closure reason in Hybi. 2013-04-20 22:04:24 +01:00
James Coglan 787697dc59 Some more large renaming, this time putting everything inside the WebSocket::Protocol namespace. 2013-04-20 18:22:09 +01:00
James Coglan 948e6fb2e2 Switch to using event objects. 2013-04-20 15:17:21 +01:00
James Coglan eee225441e Empty the buffer once the whole handshake response has been received by the client, else HTTP headers are published as messages. 2013-04-20 14:56:44 +01:00
James Coglan 56dd161ee1 Add text() and binary() methods as sugar over frame(). 2013-04-20 13:59:16 +01:00
James Coglan 1be1a33eb1 Rename all of the things: Faye::WebSocket is now WebSocket::Protocol. 2013-04-20 13:00:25 +01:00
James Coglan 6c10dcf9b2 A big old refactoring with loads of new tests. API has been greatly simplified to remove knowledge of the protocol from the I/O adapter. 2013-04-20 12:17:08 +01:00
James Coglan 8cbcfa2026 Parser should actually use the options variable that's passed in. 2013-04-19 09:00:14 +01:00
James Coglan 87c934fd5a Make handshake_response private and provide a more abstrct start() method to tell the parser to begin responding. 2013-04-19 08:47:19 +01:00
James Coglan 18eb3e96f2 Refactor to reduce the coupling between the parser and the socket I/O object. 2013-04-15 09:05:52 +01:00
James Coglan 653cf4f5c7 Treat the Connection and Upgrade headers case-insensitively, and fail gracefully when they are absent. 2013-04-07 23:31:37 +01:00
James Coglan 30f9802c1c Make the hybi parser able to accept arrays of bytes for parsing. 2013-04-06 08:13:35 +01:00
James Coglan 0fa5ed8d48 Move root library file so it doesn't conflict with faye-websocket. 2013-04-06 07:10:10 +01:00
James Coglan d72fa37dbc Remove links to API specs. 2013-04-05 09:16:55 +01:00
James Coglan 6fd2c32b60 Strip the project down to just the parser classes. 2013-04-05 09:06:44 +01:00
James Coglan 2c9d2763d3 Make the Connection header case-insensitive. 2013-03-14 10:44:40 +00:00
James Coglan 799103fd47 Only supress headers if the response status is 101. 2013-02-13 23:40:01 +00:00
James Coglan 0b47e6eeab Single-quote string. (Yes, I'm a pedant.) 2013-02-10 23:48:06 +00:00
James Coglan 8f2e5c4295 If close() is called in the CONNECTING readyState, then close the TCP connection immediately without waiting for the handshake to complete. 2013-02-10 23:43:37 +00:00
James Coglan 41a1968ed6 Remove trailing whitespace. 2013-02-10 22:58:09 +00:00
James Coglan 5a9533a8ad Don't stop finalization from happening if close() is called while in the CLOSING state with no ack required. This means sudden interupts can get the socket cleaned up, say if it disconnects while waiting for a close-ack from the peer. See https://github.com/faye/faye-websocket-node/issues/19 for similar Node issue. 2013-02-10 22:45:53 +00:00
Gabe Bell ccf20579a8 support IE10's 'Websocket' type 2012-12-10 11:53:57 -05:00
Sean Grove 9cb89521ec Try to be more compliant with the http/1.1 spec 2012-05-21 19:44:59 +01:00
James Coglan 64ebb849b6 Add error code 1011. 2012-04-06 13:51:57 +01:00
James Coglan 1cb21521cd Use / as the default path if the client URI has no path. 2012-04-01 23:01:17 +01:00
botanicus 1b4c62a578 Ignore POST. 2012-03-13 10:59:00 +00:00
James Coglan a439f24744 Fix build on 1.8.7, exclude rbx-19mode. 2012-03-07 23:52:12 +00:00
James Coglan 4a5a6a9b60 Some JRuby/RBX platform adjustments. 2012-03-07 23:39:41 +00:00
James Coglan 9410f1ce17 Catch exceptions from server-side connections closing on JRuby. 2012-03-04 23:37:13 +00:00
James Coglan 83059e59b1 Rewrite masking function in Java for JRuby. 2012-03-04 23:16:02 +00:00
James Coglan 890646e565 Catch NullPointerException from send_data when a socket closes on JRuby. 2012-03-03 15:33:30 +00:00
Jon Leighton 73479a87c6 Support JRuby without a C extension. Closes #5. 2012-03-02 23:21:06 +00:00
James Coglan ab0da1f8b1 Use the encoding API on Ruby 1.9 to validate UTF-8. Fixes problem loading UTF-8 regex when -Ku flag is used. 2012-02-23 01:28:38 +00:00
James Coglan d4b589d4dd Treat numbers as strings when calling Socket#send. 2012-02-16 23:15:59 +00:00
James Coglan c5f34d6c08 Whitespace change to make Travis rebuild. 2012-02-13 12:41:20 +00:00
James Coglan c54b120d8a Make immediate send on EventSource work. 2012-02-13 00:16:09 +00:00
James Coglan 840a118cd5 Only send EventSource ping messages if the user specifies an interval, for symmetry with WebSocket. 2012-02-12 23:53:32 +00:00
James Coglan b22275ba47 Expose ping API for EventSource. 2012-02-11 14:06:01 +00:00
James Coglan 78ceffffb7 Add ping API for server-side WebSocket connections. 2012-02-11 13:59:06 +00:00
James Coglan 8a7106e5a2 Implement safe onopen and message buffering for when the handshake is interrupted by a proxy. 2012-02-11 13:32:40 +00:00
James Coglan 031e885e6a Periodically send 'ping' frames to keep the EventSource connection open. 2012-01-12 01:23:47 +00:00
James Coglan 90f3884a4b Make sure EventSource retry is written as an integer. 2012-01-12 01:10:22 +00:00
James Coglan 44bf2c6e71 Preserve exact line delimiters when framing EventSource messages. 2012-01-12 01:00:20 +00:00
James Coglan b7ae87db02 Remove underscores from a couple methods. 2012-01-12 00:03:34 +00:00
James Coglan 4bb4b25063 Take _ out of EventSource source path. 2012-01-12 00:00:08 +00:00
James Coglan 2b6270b7bf Replace EM::Connection#web_socket with #socket_stream. 2012-01-11 23:57:12 +00:00
James Coglan 72e5b16ff9 Implement close events for EventSource. 2012-01-11 23:51:02 +00:00
James Coglan fb89891c42 Handle messages containing line breaks correctly. 2012-01-11 23:28:07 +00:00
James Coglan b7fd4c63fc Separate all EventSource lines with CR-LF. 2012-01-11 23:24:05 +00:00