fix: StreamableHTTPTransport got invalid json exception when receive a ping event from mcp server #28111 (#28116)

This commit is contained in:
hoffer 2025-11-13 20:19:48 +08:00 committed by CodingOnStar
parent e658a6a80d
commit 84a9ddc2d8
1 changed files with 4 additions and 0 deletions

View File

@ -138,6 +138,10 @@ class StreamableHTTPTransport:
) -> bool:
"""Handle an SSE event, returning True if the response is complete."""
if sse.event == "message":
# ping event send by server will be recognized as a message event with empty data by httpx-sse's SSEDecoder
if not sse.data.strip():
return False
try:
message = JSONRPCMessage.model_validate_json(sse.data)
logger.debug("SSE message: %s", message)