nestjs-grpc-exceptions
TypeScript icon, indicating that this package has built-in type declarations

0.2.2 • Public • Published

NestJS gRPC Exceptions

This library provides RpcException wrappers for gRPC status codes.

Install

pnpm add nestjs-grpc-exceptions

or

npm install nestjs-grpc-exceptions

or

yarn add nestjs-grpc-exceptions

Usage:

First add the GrpcServerExceptionFilter to your gRPC server:

import { Module } from "@nestjs/common";
import { APP_FILTER } from "@nestjs/core";
import { GrpcServerExceptionFilter } from "nestjs-grpc-exceptions";

@Module({
  providers: [
    {
      provide: APP_FILTER,
      useClass: GrpcServerExceptionFilter,
    },
  ],
})
export class UserModule {}

Add the client interceptor to your client:

import { GrpcToHttpInterceptor } from 'nestjs-grpc-exceptions';

@Get(':id')
@UseInterceptors(GrpcToHttpInterceptor)
function findUser(@Param('id') id: number): void;

Now you can use the exception classes in your servers:

import {
  GrpcNotFoundException,
  GrpcInvalidArgumentException,
} from "nestjs-grpc-exceptions";

throw new GrpcNotFoundException("User Not Found.");
throw new GrpcInvalidArgumentException("input 'name' is not valid.");

If you use Http Exceptions in your microservice clients, you can use the HttpToGrpcInterceptor interceptor to convert them

import { HttpToGrpcInterceptor } from 'nestjs-grpc-exceptions';

@UseInterceptors(HttpToGrpcInterceptor)
@GrpcMethod()
function getAllUsers(): void;

list of supported http status codes: 401 - 403 - 502 - 404 - 405 - 409 - 422 - 429 - 500

Dependencies (0)

    Dev Dependencies (18)

    Package Sidebar

    Install

    npm i nestjs-grpc-exceptions

    Weekly Downloads

    3,237

    Version

    0.2.2

    License

    MIT

    Unpacked Size

    845 kB

    Total Files

    39

    Last publish

    Collaborators

    • mohsenbostan