mirror of
https://github.com/HeyPuter/puter.git
synced 2026-08-24 23:17:23 +00:00
Add loopback support to puter.peer (#3425)
* allow setting port instead of invite code in puter.peer * fix grabbing fallbackice under wrong response
This commit is contained in:
@@ -54,7 +54,7 @@ class PuterPeerServer extends EventTarget {
|
||||
this.#wsconn = new WebSocket(peerConfig.signallerUrl);
|
||||
}
|
||||
|
||||
async start () {
|
||||
async start(options = {}) {
|
||||
await new Promise((resolve, reject) => {
|
||||
this.#wsconn.onopen = resolve;
|
||||
this.#wsconn.onerror = reject;
|
||||
@@ -77,6 +77,7 @@ class PuterPeerServer extends EventTarget {
|
||||
server: {
|
||||
create: {
|
||||
authToken: this.#peerConfig.authToken,
|
||||
port: options.port,
|
||||
},
|
||||
},
|
||||
}),
|
||||
@@ -223,7 +224,7 @@ class PuterPeerConnection extends EventTarget {
|
||||
}
|
||||
}
|
||||
|
||||
async connect (invitecode) {
|
||||
async connect(invitecode, options = {}) {
|
||||
this.#wsconn = new WebSocket(this.#peerConfig.signallerUrl);
|
||||
await new Promise((resolve, reject) => {
|
||||
this.#wsconn.onopen = resolve;
|
||||
@@ -245,6 +246,7 @@ class PuterPeerConnection extends EventTarget {
|
||||
connect: {
|
||||
authToken: this.#peerConfig.authToken,
|
||||
invitecode,
|
||||
port: options.port,
|
||||
},
|
||||
},
|
||||
}),
|
||||
@@ -404,8 +406,7 @@ class Peer {
|
||||
return;
|
||||
}
|
||||
|
||||
const { iceServers, ttl, fallbackIce } = await response.json();
|
||||
this.#fallbackIceServers = fallbackIce;
|
||||
const { iceServers, ttl } = await response.json();
|
||||
this.#turnServers = iceServers;
|
||||
this.#turnTTL = ttl;
|
||||
this.#turnStartedAt = Date.now();
|
||||
@@ -417,7 +418,8 @@ class Peer {
|
||||
if ( ! response.ok ) {
|
||||
throw new Error('Failed to get signaller info from Puter.');
|
||||
}
|
||||
const { url } = await response.json();
|
||||
const { url, fallbackIce } = await response.json();
|
||||
this.#fallbackIceServers = fallbackIce;
|
||||
this.#signallerUrl = url;
|
||||
}
|
||||
|
||||
@@ -456,7 +458,7 @@ class Peer {
|
||||
await this.#authenticateForPeerAction('create a server');
|
||||
const peerConfig = await this.#resolvePeerConfig(options);
|
||||
const server = new PuterPeerServer(peerConfig);
|
||||
await server.start();
|
||||
await server.start(options);
|
||||
return server;
|
||||
}
|
||||
|
||||
@@ -464,7 +466,7 @@ class Peer {
|
||||
await this.#authenticateForPeerAction('connect to a server');
|
||||
const peerConfig = await this.#resolvePeerConfig(options);
|
||||
const conn = new PuterPeerConnection(peerConfig);
|
||||
await conn.connect(invitecode);
|
||||
await conn.connect(invitecode, options);
|
||||
return conn;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user