NestJS tip: how to change HTTP server timeouts

micalevisk

Micael Levi L. C.

Posted on April 7, 2024

NestJS tip: how to change HTTP server timeouts

What

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

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 = app.getHttpServer()

  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

  await app.listen(3000)
}
bootstrap()
Enter fullscreen mode Exit fullscreen mode

That's all!

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

💖 💪 🙅 🚩
micalevisk
Micael Levi L. C.

Posted on April 7, 2024

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related