@@ -351,26 +351,34 @@ async def _receive_loop(self) -> None:
351
351
if isinstance (message , Exception ):
352
352
await self ._handle_incoming (message )
353
353
elif isinstance (message .message .root , JSONRPCRequest ):
354
- validated_request = self ._receive_request_type .model_validate (
355
- message .message .root .model_dump (
356
- by_alias = True , mode = "json" , exclude_none = True
354
+ try :
355
+ validated_request = self ._receive_request_type .model_validate (
356
+ message .message .root .model_dump (
357
+ by_alias = True , mode = "json" , exclude_none = True
358
+ )
359
+ )
360
+ responder = RequestResponder (
361
+ request_id = message .message .root .id ,
362
+ request_meta = validated_request .root .params .meta
363
+ if validated_request .root .params
364
+ else None ,
365
+ request = validated_request ,
366
+ session = self ,
367
+ on_complete = lambda r : self ._in_flight .pop (
368
+ r .request_id , None
369
+ ),
357
370
)
358
- )
359
- responder = RequestResponder (
360
- request_id = message .message .root .id ,
361
- request_meta = validated_request .root .params .meta
362
- if validated_request .root .params
363
- else None ,
364
- request = validated_request ,
365
- session = self ,
366
- on_complete = lambda r : self ._in_flight .pop (r .request_id , None ),
367
- )
368
371
369
- self ._in_flight [responder .request_id ] = responder
370
- await self ._received_request (responder )
372
+ self ._in_flight [responder .request_id ] = responder
373
+ await self ._received_request (responder )
371
374
372
- if not responder ._completed : # type: ignore[reportPrivateUsage]
373
- await self ._handle_incoming (responder )
375
+ if not responder ._completed : # type: ignore[reportPrivateUsage]
376
+ await self ._handle_incoming (responder )
377
+ except Exception as e :
378
+ logging .warning (
379
+ f"Failed to validate request: { e } . "
380
+ f"Message was: { message .message .root } "
381
+ )
374
382
375
383
elif isinstance (message .message .root , JSONRPCNotification ):
376
384
try :
0 commit comments