diff --git a/packages/microservices/listeners-controller.ts b/packages/microservices/listeners-controller.ts index df275cb112c..5c379768864 100644 --- a/packages/microservices/listeners-controller.ts +++ b/packages/microservices/listeners-controller.ts @@ -200,7 +200,13 @@ export class ListenersController { wrapper.id, defaultCallMetadata, ); - requestScopedHandler.next?.(dataOrContextHost, ...args); + const returnedValueWrapper = requestScopedHandler.next?.( + dataOrContextHost, + ...args, + ); + returnedValueWrapper?.then(returnedValue => + this.connectIfStream(returnedValue as Observable), + ); return proxy(...args); } catch (err) { let exceptionFilter = this.exceptionFiltersCache.get(