import { timing } from "./timing"; export const setRequestTimeout = (req, reject, timeoutInMs = 0, throwOnRequestTimeout, logger) => { if (timeoutInMs) { return timing.setTimeout(() => { let msg = `@smithy/node-http-handler - [${throwOnRequestTimeout ? "ERROR" : "WARN"}] a request has exceeded the configured ${timeoutInMs} ms requestTimeout.`; if (throwOnRequestTimeout) { const error = Object.assign(new Error(msg), { name: "TimeoutError", code: "ETIMEDOUT", }); req.destroy(error); reject(error); } else { msg += ` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`; logger?.warn?.(msg); } }, timeoutInMs); } return -1; };