Commit Graph

41 Commits

Author SHA1 Message Date
Damien Arrachequesne
7033c0ed27 chore(release): 6.4.1
Diff: https://github.com/socketio/engine.io/compare/6.4.0...6.4.1
2023-02-20 00:54:54 +01:00
Damien Arrachequesne
898bd1c9df chore(release): 6.4.0
Diff: https://github.com/socketio/engine.io/compare/6.3.1...6.4.0
2023-02-06 17:16:32 +01:00
Damien Arrachequesne
4d6f4541c3 chore(release): 6.3.1
Diff: https://github.com/socketio/engine.io/compare/6.3.0...6.3.1
2023-01-12 08:23:07 +01:00
Damien Arrachequesne
ae1ea77991 chore(release): 6.3.0
Diff: https://github.com/socketio/engine.io/compare/6.2.1...6.3.0
2023-01-10 17:28:24 +01:00
Damien Arrachequesne
bc98bf1232 refactor: bump prettier to version 2.8.1
This major bump creates a lot of noise, but it is necessary for
prettier to be able to parse new syntax such as:

- typed imports: `import { type xxx } from ...`
- private attributes: `class A { #b; #c() {} }`
2023-01-10 15:22:57 +01:00
Damien Arrachequesne
f3b761dc56 chore(release): 6.1.1
Diff: https://github.com/socketio/engine.io/compare/6.1.0...6.1.1
2022-01-11 16:08:20 +01:00
Damien Arrachequesne
4c306af945 chore(release): 6.1.0
Diff: https://github.com/socketio/engine.io/compare/6.0.0...6.1.0
2021-11-08 08:37:22 +01:00
Damien Arrachequesne
35b6b505df test: replace "s" package by string interpolation 2021-11-08 08:17:25 +01:00
Damien Arrachequesne
271e2df94d feat: add an implementation based on uWebSockets.js
```js
const { App } = require("uWebSockets.js");
const { uServer } = require("engine.io");

const app = new App();
const server = new uServer();

server.attach(app);

app.listen(3000);
```

Reference: https://github.com/uNetworking/uWebSockets.js

Related: https://github.com/socketio/engine.io/issues/578
2021-11-02 22:46:09 +01:00
Damien Arrachequesne
fe5d97fc3d chore(release): 6.0.0
Diff: https://github.com/socketio/engine.io/compare/5.2.0...6.0.0
2021-10-08 16:12:32 +02:00
Damien Arrachequesne
c0d6eaa1ba chore: migrate to TypeScript
Related: https://github.com/socketio/engine.io/issues/510
2021-10-08 14:55:30 +02:00
Marko Žarković
cec27502f5 fix: correctly pass the options when using the Server constructor (#610)
Fixes https://github.com/socketio/engine.io/issues/580
2020-12-30 10:04:47 +01:00
Damien Arrachequesne
f5efa1e02a refactor: use ES6 syntax for the tests 2020-12-07 10:57:28 +01:00
Damien Arrachequesne
33564b2391 refactor: use prettier to format code 2020-01-14 21:58:38 +01:00
Damien Arrachequesne
ecfcc69a7a [chore] Release 3.4.0
Diff: https://github.com/socketio/engine.io/compare/3.3.2...3.4.0
2019-09-13 13:51:49 +02:00
Damien Arrachequesne
cb0ac6fddc [chore] Release 3.3.2 2018-11-29 22:51:12 +01:00
JinHyuk Kim
6a16ea1192 [test] Remove unnecessary assertion in test case (#556) 2018-04-30 07:39:40 +02:00
Damien Arrachequesne
d50bf873a6 [chore] Bump dependencies (#549)
- debug to version 3.1.0
- babel-eslint to version 8.0.2
- mocha to version 4.0.1
- superagent to version 3.8.1
2017-12-28 23:30:04 +01:00
Luigi Pinca
cdb487dbdc [fix] Initialize the WebSocket server in the Server constructor (#476) 2017-01-30 15:52:00 +01:00
Diga Widyaprana
7cbdd5e5d9 [style] Add ESlint (#385) 2016-10-31 02:40:58 +01:00
nkzawa
bb286d810f fix tests fail on node 4.0 2015-09-11 05:19:42 +09:00
Roman Shtylman
48f006f947 make require('engine.io')() return a new Server instance
fixes #212
2014-06-04 13:45:48 -04:00
Roman Shtylman
cb2b80afd9 remove lib/index.js
Needless level of indirection which blocks actually reading the
important parts of the code.
2014-06-04 13:45:47 -04:00
Guillermo Rauch
10261c5211 removed flashsocket, moving to userland 2014-05-17 15:24:40 -07:00
Guillermo Rauch
8ede274e05 test: fix syntax, remove globals 2014-01-05 19:16:15 -03:00
King Koopa
73794f375d Fixed respond to flash policy request test. Closes #184 2013-08-11 16:20:09 +03:00
King Koopa
2699d153e9 Fixed upgrade with timeout test. Closes #185 2013-08-11 16:10:49 +03:00
Roman Shtylman
fd36eeaf02 Only end upgrade socket connections if unhandled
This fixes an issue where multiple engine.io instances (on different
paths) would result in the closing of websocket connections for all of
the instances. This happened because each engine.io instance would
register an `upgrade` handler on the server. This handler would check
for a matching path and otherwise call `socket.end()` Since multiple
upgrade events would be triggered with different paths, the peer
handlers would close each other.

This patch resolves this behavior in the following way:
- When an instance upgrade handler encounters a path which it does not
  recognize it creates a timeout for `destroyUpgradeTimeout`.
- At the end of the timeout, the socket is checked for writable state
  and bytes written. If there has been not activity and the socket is
  writable, then it will be ended.

This allows for peer socket handlers to keep the socket alive by sending
some data over it. This also mimics the core node behavior of closing
sockets on upgrade when no handler is specified. We consider not
handling an upgrade request similar to no handler. However, we cannot
immediately end the socket for the reasons noted above.

fixes #143
2013-01-31 22:42:11 -05:00
Guillermo Rauch
c10a9ae6a0 test: adapted version checking for 0.4 2012-12-13 12:30:26 -03:00
Fedor Indutny
bb1f860239 server: send validation failure reason to clients 2012-11-01 00:35:49 +04:00
Guillermo Rauch
3a8e3a3cc2 test: added test to avoid out-of-date client version 2012-10-21 09:32:28 -07:00
Guillermo Rauch
d32c9c1a80 test: fixed style 2012-10-04 09:21:09 -07:00
Guillermo Rauch
c906e5800e Revert "test: tweaked timers that were making tests not pass on mountain lion"
This reverts commit fefb643c4a.
2012-09-06 11:55:58 -07:00
Guillermo Rauch
fefb643c4a test: tweaked timers that were making tests not pass on mountain lion 2012-09-04 12:08:19 -07:00
Guillermo Rauch
2c61e40537 test: removed flash policy buffering test
- it was a false positive (it was all being written in one packet despite
  the callback).
- node will discard subsequent packets anyways as they're not a valid
  request. we can only hope(?) that flash's request comes all in one packet
2012-08-26 18:14:01 -07:00
Guillermo Rauch
1c0a3e69ad Removed engine version test. 2012-07-03 14:19:49 -07:00
Guillermo Rauch
825a489e9e Added default resource to URLs. 2012-04-03 08:16:14 -03:00
einaros
b983b1a063 fix tests for latest superagent 2012-01-25 13:14:32 -08:00
Guillermo Rauch
fdd4faa180 Refactored tests with new listen, sprintf & fixed potential leaks of errors to different tests. 2012-01-14 09:41:44 -08:00
Guillermo Rauch
c6966b6351 Added main engine.io tests. 2011-12-29 12:59:07 -05:00
Guillermo Rauch
a46aa7c094 Added basic engine tests 2011-12-23 13:27:52 -08:00