James Coglan
569ec1d62e
Perform more stringent checks on request headers so that it should not be possible to get a driver for requests with invalid headers.
2017-10-30 22:53:34 +00:00
James Coglan
8128bec1e0
Bump version to 0.7.0.
0.7.0
2017-09-11 21:48:56 +01:00
James Coglan
7be31c44e6
Use package.json rather than .npmignore to list files in the package.
2017-09-11 21:44:53 +01:00
James Coglan
09476b8ed8
Add an example of using the client driver with the net module.
2017-08-15 19:19:35 +01:00
James Coglan
d3396ace77
Extract the license into its own file.
2017-08-15 18:45:36 +01:00
James Coglan
1967d6bbb8
Rename tcp_server.js to net_server.js.
2017-08-08 23:39:08 +01:00
James Coglan
1325828a9e
Add ping/pong events to the API.
2017-08-02 21:57:47 +01:00
James Coglan
b82b7fa39a
Drop testing for io.js releases, which barely anybody is still using.
2017-08-01 23:48:19 +01:00
James Coglan
c5c97bb30b
Formatting tweaks to package.json.
2017-08-01 00:49:41 +01:00
James Coglan
9a16e7aa27
Drop Node 0.6 support; it's no longer possible to make it work on Travis because installing a working version of npm is impossible since it depends on osenv, which doesn't work on 0.6.
2017-07-30 20:02:37 +01:00
James Coglan
ed1ce79915
Install a ^-compatible npm on Node 0.8.
2017-07-30 19:50:30 +01:00
James Coglan
a1f70fb7f7
Test on Node 7 and 8.
2017-07-30 19:36:07 +01:00
James Coglan
751c77aa1d
Replace the built-in Node HTTP parser with the http-parser-js package.
2017-07-30 19:34:41 +01:00
James Coglan
b76f4e27d0
Correct the HTTP parser magic numbers. The numbers we had were correct for Node 0.12 but not for releases since then.
2017-07-30 19:26:45 +01:00
James Coglan
c4494ff88a
Bump version to 0.6.5.
0.6.5
2016-05-20 08:41:04 +01:00
James Coglan
cfb2a86838
Test on Node 6.0.
2016-04-30 13:08:02 +01:00
James Coglan
6a92cacf62
Apply masking to messages once the payload has been placed in the frame buffer rather than mutating the original message.
2016-04-27 22:28:58 +01:00
James Coglan
2be829546b
Bump version to 0.6.4.
0.6.4
2016-01-07 08:58:29 +00:00
James Coglan
7f3bb13b5c
In draft-75/76, convert all non-string values to strings before sending.
2016-01-06 23:20:47 +00:00
James Coglan
ffa0aa3a8f
Convert numbers to strings when sending frames.
...
In draft-75/76, passing a number to text() or frame() results in the
sender allocating a buffer of that size and sending it to the other
peer, leaking random blocks of memory.
In hybi, a call to text(), binary() or ping() with a number will fail,
because the input is expected to be a buffer and so an internal method
call fails.
Both kinds of driver now convert numbers to strings, which is what
browsers do with calls to send().
2016-01-06 23:12:44 +00:00
James Coglan
7c64c35c74
Create CODE_OF_CONDUCT.md.
2015-11-08 12:16:08 +00:00
James Coglan
10481b81db
Bump version to 0.6.3.
0.6.3
2015-11-06 22:16:36 +00:00
James Coglan
5b3c8131c4
Test on Node 5.
2015-11-05 21:22:37 +00:00
James Coglan
b0b0d69ce4
Throw a more helpful error if a client driver is created with an invalid URL.
2015-10-17 21:44:36 +01:00
James Coglan
3461e0187b
Run tests on major versions of iojs and node 4.
2015-10-17 12:58:10 +01:00
James Coglan
5b59d0fcd8
Use the modulo operator rather than Math.floor() to check whether the draft-76 keys are legit.
2015-10-02 21:35:22 +01:00
James Coglan
68990a260b
Close the connection if a draft-76 client sends a Sec-WebSocket-Key header where the numeric value is a non-integer multiple of the number of spaces.
2015-10-01 23:47:15 +01:00
James Coglan
fa8b82d424
Bump version to 0.6.2.
0.6.2
2015-07-18 17:40:03 +01:00
James Coglan
89e2a7da82
Emit a protocol error when a closing frame has a 1-byte payload.
2015-07-17 22:05:26 +01:00
James Coglan
70ef5440c4
Emit close code 1000 if the closing frame does not contain one.
2015-07-15 18:04:02 +01:00
James Coglan
c84cce9a1f
Bump version to 0.6.1.
0.6.1
2015-07-13 20:13:20 +01:00
James Coglan
c8e5f1eb78
A few stylistic tweaks.
2015-07-11 23:26:49 +01:00
James Coglan
eb5e39e7e3
Standardise the words used to refer to chunks of parser input.
2015-07-10 22:37:54 +01:00
James Coglan
a95f68080e
Use the buffer.{read,write}UInt{16,32}BE functions to parse and write numbers rather than implementing such things ourselves.
2015-07-10 20:01:44 +01:00
James Coglan
7a1cb15b8c
Bump version to 0.6.0.
0.6.0
2015-07-08 20:17:01 +01:00
James Coglan
14937dd365
Emit an error event *after* setting the ready state to 3.
2015-07-08 20:14:14 +01:00
James Coglan
780dd331fe
The 'connect' event should emit a ConnectEvent object.
2015-07-07 21:33:15 +01:00
James Coglan
4a3d51cc5b
Incorporate StreamReader into Draft75 so that it retains input and recovers safely from exceptions in event listeners.
2015-07-07 21:30:06 +01:00
James Coglan
ed17186354
In the Hybi driver, perform parser state changes before validating and emitting events. This protects the parser against errors thrown by event listeners.
2015-07-07 20:36:30 +01:00
James Coglan
1df1293456
Change stage in the Base.shutdown() method to that all parsers stop processing input.
2015-07-04 21:07:34 +01:00
James Coglan
d901d3e48d
If an event listener emits an error, close the connection with code 1011.
2015-07-04 20:54:22 +01:00
James Coglan
a49cd60cb7
Document that on() *adds* a callback, rather than *setting* one, i.e. it does not remove any prior callbacks.
2015-07-04 19:31:36 +01:00
James Coglan
4dd872f0ef
Add the pong() command to the documentation.
2015-07-04 18:50:55 +01:00
Victor Gama
90b8c9d23a
Add tests to others socket states
2015-07-04 18:34:00 +01:00
Victor Gama
c3ac50931e
Implement unit tests for pong method
2015-07-04 18:33:59 +01:00
Victor Gama
5f6873ebc0
Ensure message is always defined
2015-07-04 18:33:59 +01:00
Victor Gama
309b5651a7
Implement 'pong' command to hybi.js
2015-07-04 18:33:59 +01:00
James Coglan
1cc0f33e1c
Update the changelog for 0.5.4.
0.5.4
2015-03-29 23:13:10 +01:00
James Coglan
b273147f0c
Replace 'iff' with 'if and only if'.
2015-03-28 19:44:10 +00:00
James Coglan
d1796bef12
Use require('..') to import this module in examples.
2015-03-28 09:47:59 +00:00