Socket
Socket
Sign inDemoInstall

nestjs-exceptions

Package Overview
Dependencies
237
Maintainers
2
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    nestjs-exceptions

Nest custom exceptions and exception filters.


Version published
Weekly downloads
196
increased by127.91%
Maintainers
2
Install size
14.5 MB
Created
Weekly downloads
 

Readme

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

FAQs

Last updated on 03 May 2022

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc