NestJS tip: how to change HTTP server timeouts

Rmag Breaking News

What

If you don’t know what those HTTP timeouts are, I recommend you to read the following articles:

Tuning HTTP Keep-Alive in Node.js
A Complete Guide to Timeouts in Node.js

How

When using the NestJS framework, sometimes you may need to change some default timeout. You can define them just like you’d do in a plain Node.js HTTP server like so:

import * as http from http
import { NestFactory } from @nestjs/core
// import { FastifyAdapter } from ‘@nestjs/platform-fastify’
import { AppModule } from ./app.module

async function bootstrap() {
const app = await NestFactory.create(AppModule)
// const app = await NestFactory.create(AppModule, new FastifyAdapter())

const server = await app.listen(3000)

console.log(server instanceof http.Server) // true

// The timeout value for sockets
server.setTimeout(2 * 60 * 1000)
// The number of milliseconds of inactivity a server needs to wait for additional incoming data
server.keepAliveTimeout = 30000
// Limit the amount of time the parser will wait to receive the complete HTTP headers
server.headersTimeout = 31000
}
bootstrap()

That’s all!

Here you can find all the docs about the http.server we used above:

server#setTimeout
server.keepAliveTimeout
server.headersTimeout

Leave a Reply

Your email address will not be published. Required fields are marked *