(
methodHandler: Function,
isResponseStream: boolean,
)
| 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) { |
no test coverage detected