Sample implementation to demonstrate gateway timeout in NestJS via interceptors.
This repository contains a sample implementation of NestJS
gateway timeout via interceptors. The application exposes a simple REST API which has two endpoints.
The first endpoint /greetings
is configured to return a response immediately.
The second endpoint /greetings/delayed
is configured to return a respose with a random delay between 1 to 5 seconds. In case the delay is more than the value of TIMEOUT_IN_MILLISECONDS
, the application will return a 504 Gateway Timeout
error.
$ pnpm install
This application has a .env.example file. Please create a .env file and update the values as per the desired requirement. The below table describes the environment variables used in the application:
Environment Variable | Description |
---|---|
TIMEOUT_IN_MILLISECONDS |
Timeout Value in Milliseconds |
The application can be run in two modes, development
and production
. The development
mode supports hot reloading which is beneficial during development. The production
mode is optimized for performance.
Execute the below command to run the application in development mode:
$ pnpm run start:dev
Execute the below command to run the application in production mode:
$ pnpm run start:prod
The application has tests configured using Jest
. The tests are located in the test
directory. The tests are also configured to generate coverage reports. The coverage reports are generated in the coverage
directory.
Execute the below command to run the unit tests:
$ pnpm run test
Execute the below command to run the tests and generate the coverage reports:
$ pnpm run test:cov
The application and all associated source code are distributed under the MIT License.
In case you find the project helpful, please consider supporting by ⭐ the project.
Contributions are welcome! Please feel free to submit a Pull Request in case you find any issues with the code.