Skip to content

Commit 0898a49

Browse files
refactor(eio): use plain IncomingMessage in the public API
1 parent d1f5aa9 commit 0898a49

File tree

1 file changed

+36
-26
lines changed

1 file changed

+36
-26
lines changed

packages/engine.io/lib/server.ts

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -764,18 +764,20 @@ export class Server extends BaseServer {
764764
/**
765765
* Handles an Engine.IO HTTP request.
766766
*
767-
* @param {EngineRequest} req
767+
* @param {IncomingMessage} req
768768
* @param {ServerResponse} res
769769
*/
770-
public handleRequest(req: EngineRequest, res: ServerResponse) {
770+
public handleRequest(req: IncomingMessage, res: ServerResponse) {
771771
debug('handling "%s" http request "%s"', req.method, req.url);
772-
this.prepare(req);
773-
req.res = res;
772+
const engineRequest = req as EngineRequest;
773+
774+
this.prepare(engineRequest);
775+
engineRequest.res = res;
774776

775777
const callback: ErrorCallback = (errorCode, errorContext) => {
776778
if (errorCode !== undefined) {
777779
this.emit("connection_error", {
778-
req,
780+
engineRequest,
779781
code: errorCode,
780782
message: Server.errorMessages[errorCode],
781783
context: errorContext,
@@ -784,25 +786,27 @@ export class Server extends BaseServer {
784786
return;
785787
}
786788

787-
if (req._query.sid) {
789+
if (engineRequest._query.sid) {
788790
debug("setting new request for existing client");
789-
this.clients[req._query.sid].transport.onRequest(req);
791+
this.clients[engineRequest._query.sid].transport.onRequest(
792+
engineRequest,
793+
);
790794
} else {
791795
const closeConnection = (errorCode, errorContext) =>
792796
abortRequest(res, errorCode, errorContext);
793797
this.handshake(
794-
req._query.transport as TransportName,
795-
req,
798+
engineRequest._query.transport as TransportName,
799+
engineRequest,
796800
closeConnection,
797801
);
798802
}
799803
};
800804

801-
this._applyMiddlewares(req, res, (err) => {
805+
this._applyMiddlewares(engineRequest, res, (err) => {
802806
if (err) {
803807
callback(Server.errors.BAD_REQUEST, { name: "MIDDLEWARE_FAILURE" });
804808
} else {
805-
this.verify(req, false, callback);
809+
this.verify(engineRequest, false, callback);
806810
}
807811
});
808812
}
@@ -811,17 +815,19 @@ export class Server extends BaseServer {
811815
* Handles an Engine.IO HTTP Upgrade.
812816
*/
813817
public handleUpgrade(
814-
req: EngineRequest,
818+
req: IncomingMessage,
815819
socket: Duplex,
816820
upgradeHead: Buffer,
817821
) {
818-
this.prepare(req);
822+
const engineRequest = req as EngineRequest;
819823

820-
const res = new WebSocketResponse(req, socket);
824+
this.prepare(engineRequest);
825+
826+
const res = new WebSocketResponse(engineRequest, socket);
821827
const callback: ErrorCallback = (errorCode, errorContext) => {
822828
if (errorCode !== undefined) {
823829
this.emit("connection_error", {
824-
req,
830+
engineRequest,
825831
code: errorCode,
826832
message: Server.errorMessages[errorCode],
827833
context: errorContext,
@@ -838,18 +844,22 @@ export class Server extends BaseServer {
838844
res.writeHead();
839845

840846
// delegate to ws
841-
this.ws.handleUpgrade(req, socket, head, (websocket) => {
842-
this.onWebSocket(req, socket, websocket);
847+
this.ws.handleUpgrade(engineRequest, socket, head, (websocket) => {
848+
this.onWebSocket(engineRequest, socket, websocket);
843849
});
844850
};
845851

846-
this._applyMiddlewares(req, res as unknown as ServerResponse, (err) => {
847-
if (err) {
848-
callback(Server.errors.BAD_REQUEST, { name: "MIDDLEWARE_FAILURE" });
849-
} else {
850-
this.verify(req, true, callback);
851-
}
852-
});
852+
this._applyMiddlewares(
853+
engineRequest,
854+
res as unknown as ServerResponse,
855+
(err) => {
856+
if (err) {
857+
callback(Server.errors.BAD_REQUEST, { name: "MIDDLEWARE_FAILURE" });
858+
} else {
859+
this.verify(engineRequest, true, callback);
860+
}
861+
},
862+
);
853863
}
854864

855865
/**
@@ -947,7 +957,7 @@ export class Server extends BaseServer {
947957
server.on("request", (req, res) => {
948958
if (check(req)) {
949959
debug('intercepting request for path "%s"', path);
950-
this.handleRequest(req as EngineRequest, res);
960+
this.handleRequest(req, res);
951961
} else {
952962
let i = 0;
953963
const l = listeners.length;
@@ -960,7 +970,7 @@ export class Server extends BaseServer {
960970
if (~this.opts.transports.indexOf("websocket")) {
961971
server.on("upgrade", (req, socket, head) => {
962972
if (check(req)) {
963-
this.handleUpgrade(req as EngineRequest, socket, head);
973+
this.handleUpgrade(req, socket, head);
964974
} else if (false !== options.destroyUpgrade) {
965975
// default node behavior is to disconnect when no handlers
966976
// but by adding a handler, we prevent that

0 commit comments

Comments
 (0)