Skip to content

Commit

Permalink
Merge pull request #1271 from grin0c/another-proto-loader
Browse files Browse the repository at this point in the history
feature(microservices): added option for proto-loader (grpc)
  • Loading branch information
kamilmysliwiec committed Dec 6, 2018
2 parents 6a54900 + be40001 commit 8bce796
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 4 deletions.
7 changes: 5 additions & 2 deletions packages/microservices/client/client-grpc.ts
Expand Up @@ -2,7 +2,7 @@ import { Logger } from '@nestjs/common/services/logger.service';
import { loadPackage } from '@nestjs/common/utils/load-package.util';
import { isObject } from '@nestjs/common/utils/shared.utils';
import { Observable } from 'rxjs';
import { GRPC_DEFAULT_URL } from '../constants';
import { GRPC_DEFAULT_PROTO_LOADER, GRPC_DEFAULT_URL } from '../constants';
import { InvalidGrpcPackageException } from '../exceptions/errors/invalid-grpc-package.exception';
import { InvalidGrpcServiceException } from '../exceptions/errors/invalid-grpc-service.exception';
import { InvalidProtoDefinitionException } from '../exceptions/errors/invalid-proto-definition.exception';
Expand All @@ -24,9 +24,12 @@ export class ClientGrpcProxy extends ClientProxy implements ClientGrpc {
this.url =
this.getOptionsProp<GrpcOptions>(options, 'url') || GRPC_DEFAULT_URL;

const protoLoader =
this.getOptionsProp<GrpcOptions>(options, 'protoLoader') || GRPC_DEFAULT_PROTO_LOADER;

grpcPackage = loadPackage('grpc', ClientGrpcProxy.name);
grpcProtoLoaderPackage = loadPackage(
'@grpc/proto-loader',
protoLoader,
ClientGrpcProxy.name,
);
this.grpcClient = this.createClient();
Expand Down
2 changes: 2 additions & 0 deletions packages/microservices/constants.ts
Expand Up @@ -25,3 +25,5 @@ export const RQM_DEFAULT_QUEUE = 'default';
export const RQM_DEFAULT_PREFETCH_COUNT = 0;
export const RQM_DEFAULT_IS_GLOBAL_PREFETCH_COUNT = false;
export const RQM_DEFAULT_QUEUE_OPTIONS = {};

export const GRPC_DEFAULT_PROTO_LOADER = '@grpc/proto-loader';
Expand Up @@ -24,6 +24,7 @@ export interface GrpcOptions {
credentials?: any;
protoPath: string;
package: string;
protoLoader?: string;
/** @deprecated */
root?: string;
loader?: {
Expand Down
7 changes: 5 additions & 2 deletions packages/microservices/server/server-grpc.ts
@@ -1,6 +1,6 @@
import { fromEvent } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { CANCEL_EVENT, GRPC_DEFAULT_URL } from '../constants';
import { CANCEL_EVENT, GRPC_DEFAULT_PROTO_LOADER, GRPC_DEFAULT_URL } from '../constants';
import { InvalidGrpcPackageException } from '../exceptions/errors/invalid-grpc-package.exception';
import { InvalidProtoDefinitionException } from '../exceptions/errors/invalid-proto-definition.exception';
import { CustomTransportStrategy } from '../interfaces';
Expand All @@ -22,9 +22,12 @@ export class ServerGrpc extends Server implements CustomTransportStrategy {
this.url =
this.getOptionsProp<GrpcOptions>(options, 'url') || GRPC_DEFAULT_URL;

const protoLoader =
this.getOptionsProp<GrpcOptions>(options, 'protoLoader') || GRPC_DEFAULT_PROTO_LOADER;

grpcPackage = this.loadPackage('grpc', ServerGrpc.name);
grpcProtoLoaderPackage = this.loadPackage(
'@grpc/proto-loader',
protoLoader,
ServerGrpc.name,
);
}
Expand Down

0 comments on commit 8bce796

Please sign in to comment.