MCPcopy Create free account
hub / github.com/MoonshotAI/kimi-code / openConn

Function openConn

packages/server/test/connections.e2e.test.ts:115–143  ·  view source on GitHub ↗
(url: string)

Source from the content-addressed store, hash-verified

113}
114
115function openConn(url: string): Promise<Conn> {
116 return new Promise((resolve, reject) => {
117 const ws = new WebSocket(url, ['kimi-code.bearer.test-token']);
118 const queue: WsFrame[] = [];
119 const waiters: Array<(frame: WsFrame) => void> = [];
120 let closedResolve: (v: { code: number; reason: string }) => void;
121 const closed = new Promise<{ code: number; reason: string }>((res) => {
122 closedResolve = res;
123 });
124 ws.on('message', (data) => {
125 let parsed: WsFrame;
126 try {
127 parsed = JSON.parse(rawDataToString(data)) as WsFrame;
128 } catch {
129 return;
130 }
131 if (waiters.length > 0) {
132 waiters.shift()?.(parsed);
133 } else {
134 queue.push(parsed);
135 }
136 });
137 ws.on('close', (code, reason) => {
138 closedResolve({ code, reason: String(reason) });
139 });
140 ws.once('open', () => resolve({ ws, queue, waiters, closed }));
141 ws.once('error', (err) => reject(err));
142 });
143}
144
145function receive(conn: Conn, timeoutMs: number): Promise<WsFrame> {
146 return new Promise((resolve, reject) => {

Callers 1

Calls 6

rawDataToStringFunction · 0.90
rejectFunction · 0.85
onMethod · 0.65
onceMethod · 0.65
resolveFunction · 0.50
pushMethod · 0.45

Tested by

no test coverage detected