File tree 1 file changed +12
-5
lines changed
1 file changed +12
-5
lines changed Original file line number Diff line number Diff line change 1
- import { EventSource , type EventSourceInit } from "eventsource" ;
1
+ import { EventSource , type ErrorEvent , type EventSourceInit } from "eventsource" ;
2
2
import { Transport } from "../shared/transport.js" ;
3
3
import { JSONRPCMessage , JSONRPCMessageSchema } from "../types.js" ;
4
4
5
+ export class SseError extends Error {
6
+ constructor (
7
+ public readonly code : number | undefined ,
8
+ message : string | undefined ,
9
+ public readonly event : ErrorEvent ,
10
+ ) {
11
+ super ( `SSE error: ${ message } ` ) ;
12
+ }
13
+ }
14
+
5
15
/**
6
16
* Client transport for SSE: this will connect to a server using Server-Sent Events for receiving
7
17
* messages and make separate POST requests for sending messages.
@@ -42,10 +52,7 @@ export class SSEClientTransport implements Transport {
42
52
this . _abortController = new AbortController ( ) ;
43
53
44
54
this . _eventSource . onerror = ( event ) => {
45
- const message = `SSE error: ${ event . message } ` ;
46
- const error = new Error ( message ) ;
47
- Object . assign ( error , { code : event . code } ) ;
48
-
55
+ const error = new SseError ( event . code , event . message , event ) ;
49
56
reject ( error ) ;
50
57
this . onerror ?.( error ) ;
51
58
} ;
You can’t perform that action at this time.
0 commit comments