Metzploreur/node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js

22 lines
632 B
JavaScript
Raw Normal View History

2023-11-01 16:33:25 +00:00
export 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);
}
});
};