James Coglan
7953bc39ff
Implement masking as a transform stream.
2014-05-11 22:07:34 +01:00
James Coglan
bf39b7b44b
Optimise some special cases in StreamReader; return a new Buffer from read() immediately if there's enough buffered data, and if the read can be fulfilled entirely from the first queued buffer than take a slice rather than copying into a new buffer.
2014-05-11 13:33:51 +01:00
James Coglan
85ba40ac32
Convert StreamReader so that it emits streams rather than waiting for an entire payload.
2014-05-09 15:35:40 +01:00
James Coglan
e6edb23681
Rather than a sync read() method in a loop, use an async read() method with a callback.
2014-05-08 16:35:21 +01:00
James Coglan
ed3907d5fd
Clean up the state management code in StreamReader.
2014-05-07 20:49:49 +01:00
David Glasser
8d19ee823e
StreamReader: Don't hang on to fully read buffers
2014-05-06 11:52:59 -07:00
James Coglan
9f2782da14
Correct the draft-76 status line reason phrase.
2014-04-17 02:23:58 +01:00
James Coglan
0b089ad921
Merge pull request #5 from Zarel/patch-1
...
Lower default max buffer length
2013-12-27 10:17:09 -08:00
James Coglan
e65e837968
Stop parsing Hybi when we go into a failure state.
2013-12-27 18:16:41 +00:00
Guangcong Luo
cda22e3bef
Lower default max buffer length
...
Real-world testing shows that the previous max buffer length
of ~1GB was too high, and messages of the size of roughly 300MB
could still cause the process to crash from running out of
memory. 64MB seems like a reasonably conservative maximum.
2013-12-24 19:26:38 -06:00
James Coglan
1ae37d6efe
Remove an unused instance variable _lengthBuffer.
2013-12-20 10:20:41 +00:00
James Coglan
82c42a6ce5
Extend max-length checking to draft-{75,76}.
2013-12-20 10:09:31 +00:00
James Coglan
aad1519f3f
Extend max-length checking to short (<= 125 bytes) frames and to sequences of continuation frames.
2013-12-20 09:50:18 +00:00
James Coglan
d93c853414
Don't pre-allocate a huge Buffer before we know there's enough chunks in the read queue to complete a message.
2013-12-02 21:07:33 +00:00
James Coglan
2dff35d3e4
Map Node v0.11's magic numbers for HTTP methods.
2013-12-02 13:02:38 +00:00
James Coglan
6588928445
Make HttpParser work on v0.11.6+.
2013-11-29 00:42:49 +00:00
James Coglan
151fddd206
Make the maximum frame length into an option that the user can set.
2013-11-28 23:38:42 +00:00
David Glasser
f15b331a34
Reduce frame max length to max Node Buffer length.
2013-10-11 19:21:14 -07:00
James Coglan
12f9f4d444
Add support for Basic Auth URLs to the client driver.
2013-08-13 17:16:49 +01:00
James Coglan
17e2bd4084
Messages should be queued when the driver is in the 'pre-connecting' state, as the client is initially.
2013-05-17 11:48:36 +01:00
James Coglan
97451f81ab
Set status and headers as soon as we have them so they're available if there is an error.
2013-05-12 14:44:17 +01:00
James Coglan
de001a0f54
Remove a blank line.
2013-05-12 01:45:56 +01:00
James Coglan
26c4873f3e
Apply offset to the consumed offset from HTTP parsing before we check whether the whole buffer has been used.
2013-05-12 01:45:04 +01:00
James Coglan
b2472e89a6
Document the Server driver.
2013-05-12 01:31:14 +01:00
James Coglan
1124df2bf5
Add a Server driver for running WebSockets through a bare TCP server.
2013-05-12 01:13:50 +01:00
James Coglan
ea4e289669
Add a setHeader() function to allow peers to add headers to their handshake responses.
2013-05-11 22:26:20 +01:00
James Coglan
d7c65eedd9
Expose the status and headers from the response in the client driver.
2013-05-11 21:58:37 +01:00
James Coglan
25c075a408
Rename the module to websocket-driver.
2013-05-04 16:42:44 +01:00