You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

nestjs-exceptions

Package Overview
Dependencies
Maintainers
2
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nestjs-exceptions

Nest custom exceptions and exception filters.

8.0.2
latest
Source
npmnpm
Version published
Weekly downloads
222
-47.76%
Maintainers
2
Weekly downloads
 
Created
Source

Nest.js exceptions

Provides Nest.js custom exceptions and exception filters.

Installation

$ npm i nestjs-exceptions

Usage

Nest.js compatibility matrix

Nest.js versionnestjs-exceptions compatible version
8.x.x8.x.x
7.x.x7.x.x

Integration Error

You might want to use IntegrationError to wrap integration errors with a custom message.

throw new IntegrationError(`Service runtime error.`, causeError);

Bootstrap with global exception filter

const bootstrap = async () => {
    const app = await NestFactory.create(AppModule);
    app.useGlobalFilters(new GlobalExceptionFilter());
    ...
    await app.listen(3000);
};
bootstrap();

GlobalExceptionFilter takes care mainly of internal server errors. You can configure it during instantiation so that the original cause of 500 errors are returned back to the client. The default is false for security reasons.

const sendInternalServerErrorCause = true;
new GlobalExceptionFilter(sendInternalServerErrorCause);

GlobalExceptionFilter logging setup

By default, only 500 errors are logged in the server side. This can avoid performance issues or Denial of Service attacks because the server is being to much verbose logging.

Anyways, for development reasons or debugging it's possible to log all errors:

const sendInternalServerErrorCause = false;
const logAllErrors = true;
new GlobalExceptionFilter(sendInternalServerErrorCause, logAllErrors);

Or log only specific errors (besides 500):

const sendInternalServerErrorCause = false;
const logAllErrors = false;
const logErrorsWithStatusCode = [400, 401];
new GlobalExceptionFilter(sendInternalServerErrorCause, logAllErrors, logErrorsWithStatusCode);

Keywords

json

FAQs

Package last updated on 03 May 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts