MCPcopy
hub / github.com/nestjs/nest / createStreamCallMethod

Method createStreamCallMethod

packages/microservices/server/server-grpc.ts:518–546  ·  view source on GitHub ↗
(
    methodHandler: Function,
    isResponseStream: boolean,
  )

Source from the content-addressed store, hash-verified

516 }
517
518 public createStreamCallMethod(
519 methodHandler: Function,
520 isResponseStream: boolean,
521 ) {
522 return async (
523 call: GrpcCall,
524 callback: (err: unknown, value: unknown) => void,
525 ) => {
526 return this.onProcessingStartHook(
527 this.transportId,
528 { ...call, operationId: methodHandler.name } as any,
529 async () => {
530 let handlerStream: Observable<any>;
531 if (isResponseStream) {
532 handlerStream = this.transformToObservable(
533 await methodHandler(call),
534 );
535 } else {
536 handlerStream = this.transformToObservable(
537 await methodHandler(call, callback),
538 );
539 }
540 await lastValueFrom(handlerStream).finally(() => {
541 this.onProcessingEndHook?.(this.transportId, call.request);
542 });
543 },
544 );
545 };
546 }
547
548 public async close(): Promise<void> {
549 if (this.grpcClient) {

Callers 2

createServiceMethodMethod · 0.95

Calls 2

methodHandlerFunction · 0.85
transformToObservableMethod · 0.80

Tested by

no test coverage detected