30 Commits

Author SHA1 Message Date
Tom Atkinson
e60bd5a4da [fix] Avoid swallowing exceptions thrown by user event handlers (#2682) 2016-10-21 03:16:36 +02:00
Zheng Weihan
045674de97 remove unnecessary decoder. url.parse already decodes string.
add test to test decoding function.
2016-02-14 13:46:26 +08:00
Zheng Weihan
e141e09aaf change decodeUriComponents calls 2016-02-13 14:28:21 +08:00
Zheng Weihan
5fabe4e780 call decodeURIComponent on query received from client.
update package.son to point to latest commit in socket.o-client package (with URI encoder)
2016-02-13 14:10:20 +08:00
Zheng Weihan
13af610f6d add test for issue #331 on socket.io-client. 2016-01-31 15:44:39 +08:00
Zheng Weihan
7d55724468 refactor parsing of URL in CONNECT packet to use 'url' library. 2016-01-30 09:47:28 +08:00
Zheng Weihan
1d84c55743 fix to issue #331 on socket.o-client.
Parses CONNECT packet for query string and replaces query in socket.handshake.
2016-01-28 14:40:05 +08:00
Hongcai Deng
7012ba6c64 fix wrong jsdoc 2015-12-14 15:31:42 +08:00
Damien Arrachequesne
09f446eca0 Add hasOwnProperty checks 2015-11-23 15:12:21 +01:00
Damien Arrachequesne
b73d9bea4e converted arrays to objects 2015-11-22 11:12:40 +01:00
Damien Arrachequesne
aae68d74b1 Minor performance optimization 2015-11-20 22:03:03 +01:00
Naoyuki Kanezawa
81aea995ed improve Socket#packet and Client#packet 2015-02-15 04:33:20 +09:00
Naoyuki Kanezawa
ac8e8598d7 support compression 2015-01-22 05:01:45 +09:00
Guillermo Rauch
4e4bbf918e fix protocol violations and improve error handling (fixes #1880) 2014-11-21 04:16:37 +01:00
Filippo Della Betta
f6eb53f5e1 client cannot connect to non-existing namespaces 2014-07-22 13:58:13 +02:00
Kevin Roark
1f43c4abb5 Fixed the failing test where server crashes on disconnect involving connectBuffer
Source of bug: after connection to nsp '/', the socket's connectBuffer
was being deleted. On attempt to reconnect to a different namespace,
the connect buffer was deleted and we attempted to push to it. Instead
of the deleting the connect buffer, it is now emptied.
2014-07-16 08:35:16 -07:00
Guillermo Rauch
a079cbc7f9 client: fixes #1632 2014-06-17 18:07:30 -07:00
Tony Kovanen
ee8d0fbae0 Fix namespace iterator in disconnect 2014-05-31 02:25:28 +03:00
Guillermo Rauch
81e8a0c3a5 added support for volatile packets 2014-03-07 04:09:43 -06:00
Kevin Roark
c2bf0ea700 Added binary support to broadcasting of events
lib/namespace.js previously was not considering whether an event had
binary data and was giving all events parser.EVENT type -- now it uses
the has-binary-data module to set the event type appropriately.

Then, after this fix there was a problem with lib/adapter.js -- because
socket.io-parser modifies the packet object in its encoding, the sockets
after the 1st in a broadcast were not getting the correct data. To fix
this, the data is encoded once in adapter, and then the encoded data
is passed to each of the sockets.

lib/socket.js and lib/client.js were updated to allow for the above. The
.packet method of each now takes an optional second "preEncoded" parameter
-- if this is true, then client skips the encoding and just writes the
packet argument directly to engine.

test/socket.io.js was updated to add two new tests that test
multi-messaging of events with binary data.
2014-03-02 22:15:16 -05:00
Kevin Roark
fc34c7d7a4 Updated protocol-facing code to reflect newest parser
Socket.io-parser now has a class-based Encoder and Decoder scheme,
so client.js was changed appropriately.

The main difference is that most of the logic for interpreting packets
is now isolated to parser, and client receives a 'decoded' event when
parser has a reconstructed packet ready to go.
2014-02-27 17:54:02 -05:00
Kevin Roark
449c28ce1c Updated protocol-facing code for new binary protocol
This is a squash of four boring commits. The gist is that client.js
encoding and decoding stuff was updated to take an array of encoded packets
to write, and to handle sequences of binary packets to decode. There was
also merging done with upstream. All tests are passing.
2014-02-26 13:45:47 -05:00
Kevin Roark
beab053123 anonymous function style correct 2014-02-19 17:57:59 -05:00
Kevin Roark
745ee03102 Added binary support to socket.io
This is a squash of about 25 commits, and here is a summary:

adamreis added initial binary test with the doge image.

kevin-roark updated binary tests and wrote some binary encoding protocol.

kevin-roark replaced the custom binary encoding with msgpack because we
have to handle arbitrary json that contains binary.

adamreis added some 'crazy' tests for emmiting and receiving events with
several types of data.

kevin-roark updated client.js to use socket.io-protocol's async encoding

Did a bunch of upstream merging.
2014-02-19 13:46:39 -05:00
Naoyuki Kanezawa
a3e1b0658f middlewares of main namespace should be called first 2014-02-04 04:00:24 +09:00
Guillermo Rauch
af66e5df4e client: fix style 2013-12-24 19:55:52 -03:00
Guillermo Rauch
19837a0f86 client: added disconnect method 2012-12-18 14:55:42 -03:00
Guillermo Rauch
3feb98a346 client: removed extra line 2012-12-17 15:26:04 -03:00
Guillermo Rauch
deefa7bbb9 client: style 2012-12-17 09:58:34 -03:00
Guillermo Rauch
b6a4899689 initial 1.0 commit 2012-12-13 12:14:54 -03:00