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 installThis 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:devExecute 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 testExecute the below command to run the tests and generate the coverage reports:
$ pnpm run test:covThe 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.