socket-function 0.7.12 → 0.7.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/CallFactory.ts +14 -14
- package/src/nodeAuthentication.ts +1 -8
package/package.json
CHANGED
package/src/CallFactory.ts
CHANGED
|
@@ -83,10 +83,10 @@ export interface SenderInterface {
|
|
|
83
83
|
|
|
84
84
|
send(data: string | Buffer): void;
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
addEventListener(event: "open", listener: () => void): void;
|
|
87
|
+
addEventListener(event: "close", listener: () => void): void;
|
|
88
|
+
addEventListener(event: "error", listener: (err: { message: string }) => void): void;
|
|
89
|
+
addEventListener(event: "message", listener: (data: ws.RawData | ws.MessageEvent | string) => void): void;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
async function createCallFactory(
|
|
@@ -205,20 +205,20 @@ async function createCallFactory(
|
|
|
205
205
|
let port = ports[reconnectAttempts % ports.length];
|
|
206
206
|
let newWebSocket = createWebsocket(location.address, port);
|
|
207
207
|
|
|
208
|
-
setupWebsocket(newWebSocket);
|
|
209
|
-
|
|
210
208
|
let connectError = await new Promise<string | undefined>(resolve => {
|
|
211
|
-
newWebSocket.
|
|
209
|
+
newWebSocket.addEventListener("open", () => {
|
|
212
210
|
resolve(undefined);
|
|
213
211
|
});
|
|
214
|
-
newWebSocket.
|
|
212
|
+
newWebSocket.addEventListener("close", () => {
|
|
215
213
|
resolve("Connection closed for non-error reason?");
|
|
216
214
|
});
|
|
217
|
-
newWebSocket.
|
|
218
|
-
resolve(String(e.
|
|
215
|
+
newWebSocket.addEventListener("error", e => {
|
|
216
|
+
resolve(String(e.message));
|
|
219
217
|
});
|
|
220
218
|
});
|
|
221
219
|
|
|
220
|
+
setupWebsocket(newWebSocket);
|
|
221
|
+
|
|
222
222
|
if (!connectError) {
|
|
223
223
|
console.log(`Reconnected to ${location.address}:${port}`);
|
|
224
224
|
|
|
@@ -266,22 +266,22 @@ async function createCallFactory(
|
|
|
266
266
|
}
|
|
267
267
|
|
|
268
268
|
function setupWebsocket(webSocket: SenderInterface) {
|
|
269
|
-
webSocket.
|
|
269
|
+
webSocket.addEventListener("error", e => {
|
|
270
270
|
console.log(`Websocket error for ${niceConnectionName}`, e);
|
|
271
271
|
});
|
|
272
272
|
|
|
273
|
-
webSocket.
|
|
273
|
+
webSocket.addEventListener("close", async () => {
|
|
274
274
|
console.log(`Websocket closed ${niceConnectionName}`);
|
|
275
275
|
if (retriesEnabled) {
|
|
276
276
|
await tryToReconnect();
|
|
277
277
|
}
|
|
278
278
|
});
|
|
279
279
|
|
|
280
|
-
webSocket.
|
|
280
|
+
webSocket.addEventListener("message", onMessage);
|
|
281
281
|
}
|
|
282
282
|
|
|
283
283
|
|
|
284
|
-
async function onMessage(message: ws.RawData | MessageEvent | string) {
|
|
284
|
+
async function onMessage(message: ws.RawData | ws.MessageEvent | string) {
|
|
285
285
|
try {
|
|
286
286
|
if (!isNode()) {
|
|
287
287
|
if (typeof message === "object" && "data" in message) {
|
|
@@ -90,14 +90,7 @@ export function createWebsocket(address: string, port: number): SenderInterface
|
|
|
90
90
|
// NOTE: We assume an HTTP request has already been made, which will setup a nodeId cookie
|
|
91
91
|
// (And as this point we can't even use peer certificates if we wanted to, as this must be done
|
|
92
92
|
// directly in the browser)
|
|
93
|
-
|
|
94
|
-
return Object.assign(webSocket, {
|
|
95
|
-
on(event: string, callback: any) {
|
|
96
|
-
// TODO: Use better type safety here
|
|
97
|
-
(webSocket as any)["on" + event] = callback;
|
|
98
|
-
return this as any;
|
|
99
|
-
},
|
|
100
|
-
});
|
|
93
|
+
return new WebSocket(`wss://${address}:${port}`);
|
|
101
94
|
} else {
|
|
102
95
|
let { key, cert } = getCertKeyPair();
|
|
103
96
|
return new ws.WebSocket(`wss://${address}:${port}`, {
|