@@ -426,13 +426,21 @@ public function timer($interval): PromiseInterface
426426 )(new TimerInput ($ dateInterval ));
427427 }
428428
429- public function request (RequestInterface $ request , bool $ cancellable = true ): PromiseInterface
430- {
429+ public function request (
430+ RequestInterface $ request ,
431+ bool $ cancellable = true ,
432+ bool $ waitResponse = true ,
433+ ): PromiseInterface {
431434 $ this ->recordTrace ();
432435
433436 // Intercept workflow outbound calls
434437 return $ this ->requestInterceptor ->with (
435- function (RequestInterface $ request ): PromiseInterface {
438+ function (RequestInterface $ request ) use ($ waitResponse ): PromiseInterface {
439+ if (!$ waitResponse ) {
440+ $ this ->client ->send ($ request );
441+ return Promise::resolve ();
442+ }
443+
436444 return $ this ->client ->request ($ request , $ this );
437445 },
438446 /** @see WorkflowOutboundRequestInterceptor::handleOutboundRequest() */
@@ -458,7 +466,7 @@ function (UpsertMemoInput $input): PromiseInterface {
458466 return resolve ();
459467 }
460468
461- $ result = $ this ->request (new UpsertMemo ($ input ->memo ), false );
469+ $ result = $ this ->request (new UpsertMemo ($ input ->memo ), false , false );
462470
463471 /** @psalm-suppress UnsupportedPropertyReferenceUsage $memo */
464472 $ memo = &$ this ->input ->info ->memo ;
@@ -487,7 +495,7 @@ function (UpsertSearchAttributesInput $input): PromiseInterface {
487495 return resolve ();
488496 }
489497
490- $ result = $ this ->request (new UpsertSearchAttributes ($ input ->searchAttributes ), false );
498+ $ result = $ this ->request (new UpsertSearchAttributes ($ input ->searchAttributes ), false , false );
491499
492500 /** @psalm-suppress UnsupportedPropertyReferenceUsage $sa */
493501 $ sa = &$ this ->input ->info ->searchAttributes ;
@@ -515,7 +523,7 @@ function (UpsertTypedSearchAttributesInput $input): PromiseInterface {
515523 return resolve ();
516524 }
517525
518- $ result = $ this ->request (new UpsertTypedSearchAttributes ($ input ->updates ), false );
526+ $ result = $ this ->request (new UpsertTypedSearchAttributes ($ input ->updates ), false , false );
519527
520528 // Merge changes
521529 $ tsa = $ this ->input ->info ->typedSearchAttributes ;
0 commit comments