Report SSE error codes

This commit is contained in:
Justin Spahr-Summers 2025-01-23 17:29:46 +00:00
commit 9923aecf29
No known key found for this signature in database

View file

@ -1,6 +1,6 @@
import { EventSource, type EventSourceInit } from "eventsource";
import { Transport } from "../shared/transport.js";
import { JSONRPCMessage, JSONRPCMessageSchema } from "../types.js";
import { EventSource, type EventSourceInit } from "eventsource";
/**
* Client transport for SSE: this will connect to a server using Server-Sent Events for receiving
@ -42,7 +42,10 @@ export class SSEClientTransport implements Transport {
this._abortController = new AbortController();
this._eventSource.onerror = (event) => {
const error = new Error(`SSE error: ${JSON.stringify(event)}`);
const message = `SSE error: ${event.message}`;
const error = new Error(message);
Object.assign(error, { code: event.code });
reject(error);
this.onerror?.(error);
};