nexstream-api / backend /src /utils /infra /server-timeouts.util.ts
nexstream-deploy
deploy: nexstream backend (experiment)
2276d59
Raw
History Blame Contribute Delete
529 Bytes
interface TimeoutConfigurable {
timeout: number;
keepAliveTimeout: number;
headersTimeout: number;
requestTimeout: number;
}
// split timeouts by phase to resist slowloris
export function configureServerTimeouts(server: TimeoutConfigurable): void {
// 20 min: long-lived 4K download responses
server.timeout = 1200000;
// 60s window prevents slowloris
server.requestTimeout = 60000;
server.headersTimeout = 60000;
// below headersTimeout: node premature-close race guard
server.keepAliveTimeout = 55000;
}