From 13e1db7c94291c583d843beaa9e06ee041ae4f26 Mon Sep 17 00:00:00 2001 From: Damien Arrachequesne Date: Mon, 26 Oct 2020 00:45:58 +0100 Subject: [PATCH] refactor: rename ERROR to CONNECT_ERROR The meaning is not modified: this packet type is still used by the server when the connection to a namespace is refused. Breaking change: the Socket instance will now emit a "connect_error" event instead of "error" (which is not a reserved event anymore) ```js // before socket.on("error", () => {}); // after socket.on("connect_error", () => {}); ``` --- lib/socket.ts | 10 ++++------ package.json | 2 +- test/socket.ts | 2 +- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/socket.ts b/lib/socket.ts index fe9b3370d..4005462b4 100644 --- a/lib/socket.ts +++ b/lib/socket.ts @@ -20,9 +20,9 @@ export interface SocketOptions { const RESERVED_EVENTS = { connect: 1, + connect_error: 1, disconnect: 1, disconnecting: 1, - error: 1, // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener newListener: 1, removeListener: 1, @@ -220,10 +220,8 @@ export class Socket extends Emitter { */ private onpacket(packet) { const sameNamespace = packet.nsp === this.nsp; - const rootNamespaceError = - packet.type === PacketType.ERROR && packet.nsp === "/"; - if (!sameNamespace && !rootNamespaceError) return; + if (!sameNamespace) return; switch (packet.type) { case PacketType.CONNECT: @@ -251,8 +249,8 @@ export class Socket extends Emitter { this.ondisconnect(); break; - case PacketType.ERROR: - super.emit("error", packet.data); + case PacketType.CONNECT_ERROR: + super.emit("connect_error", packet.data); break; } } diff --git a/package.json b/package.json index f0337b607..69a7938e6 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "debug": "~4.1.0", "engine.io-client": "~4.0.0", "parseuri": "0.0.6", - "socket.io-parser": "4.0.1-rc2" + "socket.io-parser": "4.0.1-rc3" }, "devDependencies": { "@babel/core": "^7.11.6", diff --git a/test/socket.ts b/test/socket.ts index dd57c0f93..ed6432624 100644 --- a/test/socket.ts +++ b/test/socket.ts @@ -176,7 +176,7 @@ describe("socket", function () { it("should fire an error event on middleware failure from custom namespace", (done) => { const socket = io("/no", { forceNew: true }); - socket.on("error", (err) => { + socket.on("connect_error", (err) => { expect(err).to.eql("Auth failed (custom namespace)"); socket.disconnect(); done();