0.2.2 • Published 2 months ago

nestjs-grpc-exceptions v0.2.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

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

0.2.2

2 months ago

0.2.1

10 months ago

0.2.0

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.1

1 year ago