@@ -66,7 +66,7 @@ async def send_message(
6666 Yields:
6767 An async iterator of `StreamResponse`
6868 """
69- self ._apply_client_config (request )
69+ request = self ._apply_client_config (request )
7070 if not self ._config .streaming or not self ._card .capabilities .streaming :
7171 response = await self ._execute_with_interceptors (
7272 input_data = request ,
@@ -100,22 +100,29 @@ async def send_message(
100100 ):
101101 yield event
102102
103- def _apply_client_config (self , request : SendMessageRequest ) -> None :
104- request .configuration .return_immediately |= self ._config .polling
105- if (
106- not request .configuration .HasField ('task_push_notification_config' )
107- and self ._config .push_notification_configs
103+ def _apply_client_config (
104+ self , request : SendMessageRequest
105+ ) -> SendMessageRequest :
106+ modified_request = SendMessageRequest ()
107+ modified_request .CopyFrom (request )
108+ if self ._config .polling :
109+ modified_request .configuration .return_immediately = True
110+ if self ._config .push_notification_configs and (
111+ not modified_request .configuration .HasField (
112+ 'task_push_notification_config'
113+ )
108114 ):
109- request .configuration .task_push_notification_config .CopyFrom (
115+ modified_request .configuration .task_push_notification_config .CopyFrom (
110116 self ._config .push_notification_configs [0 ]
111117 )
112118 if (
113- not request . configuration .accepted_output_modes
114- and self . _config .accepted_output_modes
119+ self . _config .accepted_output_modes
120+ and not modified_request . configuration .accepted_output_modes
115121 ):
116- request .configuration .accepted_output_modes .extend (
122+ modified_request .configuration .accepted_output_modes .extend (
117123 self ._config .accepted_output_modes
118124 )
125+ return modified_request
119126
120127 async def _process_stream (
121128 self ,
0 commit comments