diff --git a/packages/engine.io/lib/transport.ts b/packages/engine.io/lib/transport.ts index 6d3b9cbf6..8b127e400 100644 --- a/packages/engine.io/lib/transport.ts +++ b/packages/engine.io/lib/transport.ts @@ -13,7 +13,7 @@ function noop() {} type ReadyState = "open" | "closing" | "closed"; export type EngineRequest = IncomingMessage & { - _query: Record; + _query?: Record; res?: ServerResponse; cleanup?: Function; websocket?: WebSocket & { @@ -89,9 +89,9 @@ export abstract class Transport extends EventEmitter { * * @param {EngineRequest} req */ - constructor(req: { _query: Record }) { + constructor(req: { _query?: Record }) { super(); - this.protocol = req._query.EIO === "4" ? 4 : 3; // 3rd revision by default + this.protocol = req._query?.EIO === "4" ? 4 : 3; // 3rd revision by default this.parser = this.protocol === 4 ? parser_v4 : parser_v3; this.supportsBinary = !(req._query && req._query.b64); } diff --git a/packages/engine.io/lib/transports/index.ts b/packages/engine.io/lib/transports/index.ts index 47b3f17be..cdb04707a 100644 --- a/packages/engine.io/lib/transports/index.ts +++ b/packages/engine.io/lib/transports/index.ts @@ -14,7 +14,7 @@ export default { * Polling polymorphic constructor. */ function polling(req: EngineRequest) { - if ("string" === typeof req._query.j) { + if ("string" === typeof req._query?.j) { return new JSONP(req); } else { return new XHR(req);