Allow supply of WebSocket constructor

This commit is contained in:
Tony Garnock-Jones 2023-09-29 19:31:43 +02:00
parent 2dc7fc3e9c
commit 06bf888bd8
1 changed files with 2 additions and 2 deletions

View File

@ -33,7 +33,7 @@ type TransportState = {
peer: Ref,
};
export function boot(ds: Ref, debug: boolean = false) {
export function boot(ds: Ref, debug: boolean = false, WebSocketConstructor?: typeof WebSocket) {
spawn named 'transportConnector' {
at ds {
during Observe({ "pattern": :pattern G.TransportConnection({
@ -107,7 +107,7 @@ export function boot(ds: Ref, debug: boolean = false) {
setTimeout(() => facet.turn(() => { stop {} }), 10000);
}
try {
const ws = new WebSocket(addr.url);
const ws = new (WebSocketConstructor ?? WebSocket)(addr.url);
ws.binaryType = 'arraybuffer';
ws.onopen = () => facet.turn(() => succeed(ws));
ws.onclose = () => facet.turn(() => fail(Symbol.for('closed')));