Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
21 lines
888 B
Text
21 lines
888 B
Text
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;
|
|
};
|