Skip to content

Commit f0acead

Browse files
committed
refactor: code
1 parent b7210e7 commit f0acead

File tree

1 file changed

+19
-29
lines changed

1 file changed

+19
-29
lines changed

lib/Server.js

Lines changed: 19 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class Server {
3434
this.staticWatchers = [];
3535
// Keep track of websocket proxies for external websocket upgrade.
3636
this.webSocketProxies = [];
37+
this.sockets = [];
3738
this.compiler = compiler;
3839
}
3940

@@ -60,31 +61,6 @@ class Server {
6061
return /^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(URL);
6162
}
6263

63-
static killable(server) {
64-
let sockets = [];
65-
66-
server.on("connection", (socket) => {
67-
// add socket to list
68-
sockets.push(socket);
69-
70-
socket.once("close", () => {
71-
// remove socket from list
72-
sockets.splice(sockets.indexOf(socket), 1);
73-
});
74-
});
75-
76-
server.kill = (cb) => {
77-
server.close(cb);
78-
sockets.forEach((socket) => {
79-
socket.destroy();
80-
});
81-
// reset so the server can be restarted
82-
sockets = [];
83-
};
84-
85-
return server;
86-
}
87-
8864
static async getHostname(hostname) {
8965
if (hostname === "local-ip") {
9066
return (await internalIp.v4()) || (await internalIp.v6()) || "0.0.0.0";
@@ -706,8 +682,6 @@ class Server {
706682
this.setupFeatures();
707683
this.createServer();
708684

709-
Server.killable(this.server);
710-
711685
if (this.options.setupExitSignals) {
712686
const signals = ["SIGINT", "SIGTERM"];
713687

@@ -1190,6 +1164,16 @@ class Server {
11901164
this.server = http.createServer(this.app);
11911165
}
11921166

1167+
this.server.on("connection", (socket) => {
1168+
// add socket to list
1169+
this.sockets.push(socket);
1170+
1171+
socket.once("close", () => {
1172+
// remove socket from list
1173+
this.sockets.splice(this.sockets.indexOf(socket), 1);
1174+
});
1175+
});
1176+
11931177
this.server.on("error", (error) => {
11941178
throw error;
11951179
});
@@ -1811,9 +1795,15 @@ class Server {
18111795

18121796
if (this.server) {
18131797
await new Promise((resolve) => {
1814-
this.server.kill(() => {
1798+
this.server.kill = (cb) => {
1799+
this.server.stopCallback(cb);
1800+
this.sockets.forEach((socket) => {
1801+
socket.destroy();
1802+
});
1803+
// reset so the server can be restarted
1804+
this.sockets = [];
18151805
resolve();
1816-
});
1806+
};
18171807
});
18181808

18191809
await new Promise((resolve, reject) => {

0 commit comments

Comments
 (0)