diff --git a/lib/socket.ts b/lib/socket.ts index 4005462b4..dbcb9285c 100644 --- a/lib/socket.ts +++ b/lib/socket.ts @@ -250,7 +250,10 @@ export class Socket extends Emitter { break; case PacketType.CONNECT_ERROR: - super.emit("connect_error", packet.data); + const err = new Error(packet.data.message); + // @ts-ignore + err.data = packet.data.data; + super.emit("connect_error", err); break; } } diff --git a/test/socket.ts b/test/socket.ts index 8a1e44b3b..b27be71d5 100644 --- a/test/socket.ts +++ b/test/socket.ts @@ -177,7 +177,8 @@ describe("socket", function () { it("should fire an error event on middleware failure from custom namespace", (done) => { const socket = io("/no", { forceNew: true }); socket.on("connect_error", (err) => { - expect(err).to.eql("Auth failed (custom namespace)"); + expect(err).to.be.an(Error); + expect(err.message).to.eql("Auth failed (custom namespace)"); socket.disconnect(); done(); });