nestjs-error-handler
v0.0.3
Published
Nestjs Error Handler
Downloads
16
Readme
NestJs Error Handler
Installation
$ npm i -S nestjs-error-handler
Usage
- Add your timezone on .env
-- .env
TZ='America/Sao_Paulo'
- Create a JSON file that represent the error that was visible in the client, the original error will be only on console
<!-- htttp-status.json -->
{
"ECONNREFUSED": "Connection Refused",
"400": "Bad Request",
"401": "Unauthorized",
"403": "Forbidden",
"404": "Not Found",
"405": "Method Not Allowed",
"406": "Not Acceptable",
"408": "Request Timeout",
"413": "Payload Too Large",
"414": "URI Too Long",
"422": "Unprocessable Entity",
"428": "Precondition Required",
"429": "Too Many Requests",
"500": "Internal Server Error",
"501": "Not Implemented",
"502": "Bad Gateway",
"503": "Service Unavailable",
"504": "Gateway Timeout",
"507": "Insufficient Storage",
"508": "Loop Detected"
}
<!--If your error is not mapped here the original error will be displayed in the client.-->
- Add on main.ts file
// main.ts
import { AppExceptionFilter, ExceptionInterceptor } from 'nestjs-error-handler';
import { Logger } from '@nestjs/common';
import * as htttpStatus from './htttp-status.json';
async function bootstrap() {
const app = await NestFactory.create(MainModule);
app.useGlobalFilters(new AppExceptionFilter(new Logger(), htttpStatus, process.env.TZ));
app.useGlobalInterceptors(new ExceptionInterceptor());
...
}
- Custom error
import { ApiException } from 'nestjs-error-handler';
@Controller()
export class HealthController {
constructor(private readonly healthService: IHealthService) {}
@Get('/health')
async getHealth(): Promise<string> {
throw new ApiException('Error', HttpStatus.INTERNAL_SERVER_ERROR);
}
}
Now all exceptions will be handler.
The following is a list of all the people that have contributed to nest-boilerplate. Thanks for your contributions!
License
It is available under the MIT license. License