26 lines
794 B
JavaScript
26 lines
794 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.setConnectionTimeout = void 0;
|
|
const setConnectionTimeout = (request, reject, timeoutInMs = 0) => {
|
|
if (!timeoutInMs) {
|
|
return;
|
|
}
|
|
const timeoutId = setTimeout(() => {
|
|
request.destroy();
|
|
reject(Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), {
|
|
name: "TimeoutError",
|
|
}));
|
|
}, timeoutInMs);
|
|
request.on("socket", (socket) => {
|
|
if (socket.connecting) {
|
|
socket.on("connect", () => {
|
|
clearTimeout(timeoutId);
|
|
});
|
|
}
|
|
else {
|
|
clearTimeout(timeoutId);
|
|
}
|
|
});
|
|
};
|
|
exports.setConnectionTimeout = setConnectionTimeout;
|