Skip to content

Commit 4419464

Browse files
committed
pragma no cover and standard error message
1 parent 86ef957 commit 4419464

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/mcp/client/streamable_http.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -428,20 +428,26 @@ async def _handle_sse_response(
428428
return # Normal completion, no reconnect needed
429429
except Exception as e: # pragma: no cover
430430
logger.debug(f"SSE stream ended: {e}")
431+
sse_error = e
432+
else: # pragma: no cover
433+
sse_error = None
431434

432435
# Stream ended without response - reconnect if we received an event with ID
433436
if last_event_id is not None:
434437
logger.info("SSE stream disconnected, reconnecting...")
435438
await self._handle_reconnection(ctx, last_event_id, retry_interval_ms)
436-
else:
439+
else: # pragma: no cover
440+
error_msg = "SSE stream disconnected without response"
441+
if sse_error is not None:
442+
error_msg = f"{error_msg}: {type(sse_error).__name__}: {sse_error}"
437443
error_response = JSONRPCError(
438444
jsonrpc="2.0",
439445
id=ctx.session_message.message.root.id
440446
if isinstance(ctx.session_message.message.root, JSONRPCRequest)
441447
else "Unknown",
442448
error=ErrorData(
443449
code=-32000,
444-
message="SSE stream disconnected without response (read timeout or server closed connection)",
450+
message=error_msg,
445451
),
446452
)
447453
error_message = JSONRPCMessage(root=error_response)

0 commit comments

Comments
 (0)