18 Commits

Author SHA1 Message Date
James Coglan 44a677a9c0 Formatting change: {...} should have spaces inside the braces 2019-06-11 15:54:09 +01:00
James Coglan 2792339b4d Add a missing semicolon. 2015-11-06 22:10:26 +00:00
James Coglan c8f31cc1c7 Reversing the previous commit; generateResponse() should throw on invalid heders (as should activate()), because the server should fail the connection in this event. 2015-03-26 08:30:23 +00:00
James Coglan 62ac506b80 If the header from the client is invalid, just ignore it and build a pipeline with no sessions. 2015-03-14 12:56:41 +00:00
James Coglan a04471aecc If Extensions.close() is called before the handshake is done, don't throw an error, just callback immediately. 2015-02-16 08:53:42 +00:00
James Coglan 1b77290e82 Put a structure in place to preserve ordering of messages and errors, and defer closing of sessions while messages are still in the pipeline.
This is designed to address these issues:

* https://github.com/faye/permessage-deflate-node/issues/1
* https://github.com/faye/permessage-deflate-node/pull/3
* https://github.com/faye/websocket-driver-node/issues/11
2015-02-15 13:14:22 +00:00
James Coglan ea98426dc1 Don't delegate validFrameRsv() to extensions; it's a weird interface and we can figure it out from the extension metadata. 2014-12-12 00:54:39 +00:00
James Coglan 007cc0ac22 Prefix extension error messages with the name of the extension. 2014-12-08 00:54:03 +00:00
James Coglan a28cdfdb1a Make sure every session processes messages in both directions in the same order the messages arrive at the driver. 2014-12-01 22:03:49 +00:00
James Coglan 2b45d787e7 Some fixes discovered while porting to Ruby. 2014-12-01 21:02:08 +00:00
James Coglan 80a7c2211a Add a close() method to sessions. 2014-11-29 00:43:41 +00:00
James Coglan c1adebdb04 Document the API protocols in the README. 2014-11-29 00:36:09 +00:00
James Coglan 9d1a70d845 Wrap an abstraction around the data returned by the parser to facilitate access by name and in order. 2014-11-28 23:11:23 +00:00
James Coglan 71bb6b3274 Flesh out the specs for client and server negotation, and fix the resulting bugs. 2014-11-28 00:14:05 +00:00
James Coglan e2c7cc4d00 Sessions should use Node-style callbacks rather than emitting error events. 2014-11-27 09:31:27 +00:00
James Coglan afaeaa7087 Delegate the decision about which RSV bits are allowed to sessions on a per-frame basis. 2014-11-26 09:58:46 +00:00
James Coglan 123ae175a1 Begin writing tests for the Extensions class. 2014-11-25 23:13:19 +00:00
James Coglan 86dd78c2e3 Extract the Extensions class from websocket-driver. 2014-11-25 21:15:00 +00:00