MCPcopy
hub / github.com/codeaashu/claude-code / constructor

Method constructor

src/utils/mcpWebSocketTransport.ts:27–70  ·  view source on GitHub ↗
(private ws: WebSocketLike)

Source from the content-addressed store, hash-verified

25 private isBun = typeof Bun !== 'undefined'
26
27 constructor(private ws: WebSocketLike) {
28 this.opened = new Promise((resolve, reject) => {
29 if (this.ws.readyState === WS_OPEN) {
30 resolve()
31 } else if (this.isBun) {
32 const nws = this.ws as unknown as globalThis.WebSocket
33 const onOpen = () => {
34 nws.removeEventListener('open', onOpen)
35 nws.removeEventListener('error', onError)
36 resolve()
37 }
38 const onError = (event: Event) => {
39 nws.removeEventListener('open', onOpen)
40 nws.removeEventListener('error', onError)
41 logForDiagnosticsNoPII('error', 'mcp_websocket_connect_fail')
42 reject(event)
43 }
44 nws.addEventListener('open', onOpen)
45 nws.addEventListener('error', onError)
46 } else {
47 const nws = this.ws as unknown as WsWebSocket
48 nws.on('open', () => {
49 resolve()
50 })
51 nws.on('error', error => {
52 logForDiagnosticsNoPII('error', 'mcp_websocket_connect_fail')
53 reject(error)
54 })
55 }
56 })
57
58 // Attach persistent event handlers
59 if (this.isBun) {
60 const nws = this.ws as unknown as globalThis.WebSocket
61 nws.addEventListener('message', this.onBunMessage)
62 nws.addEventListener('error', this.onBunError)
63 nws.addEventListener('close', this.onBunClose)
64 } else {
65 const nws = this.ws as unknown as WsWebSocket
66 nws.on('message', this.onNodeMessage)
67 nws.on('error', this.onNodeError)
68 nws.on('close', this.onNodeClose)
69 }
70 }
71
72 onclose?: () => void
73 onerror?: (error: Error) => void

Callers

nothing calls this directly

Calls 3

logForDiagnosticsNoPIIFunction · 0.85
onMethod · 0.80
resolveFunction · 0.70

Tested by

no test coverage detected