summaryrefslogtreecommitdiff
path: root/extensions/websocket/01_websocket.js
diff options
context:
space:
mode:
authorLeo K <crowlkats@toaxl.com>2021-07-08 13:33:01 +0200
committerGitHub <noreply@github.com>2021-07-08 13:33:01 +0200
commit5e092b19fe113bdecd36b4e0184c82f4b3343bca (patch)
treeff2799d9d40812fd5755271a8c0ec94e304ad14a /extensions/websocket/01_websocket.js
parent215f6f2c9e0522c7c8d794f35713225884540cd7 (diff)
feat(runtime/http): server side websocket support (#10359)
Co-authored-by: Nayeem Rahman <nayeemrmn99@gmail.com> Co-authored-by: Luca Casonato <hello@lcas.dev>
Diffstat (limited to 'extensions/websocket/01_websocket.js')
-rw-r--r--extensions/websocket/01_websocket.js13
1 files changed, 10 insertions, 3 deletions
diff --git a/extensions/websocket/01_websocket.js b/extensions/websocket/01_websocket.js
index f6e285b76..7caff579e 100644
--- a/extensions/websocket/01_websocket.js
+++ b/extensions/websocket/01_websocket.js
@@ -124,6 +124,7 @@
const _protocol = Symbol("[[protocol]]");
const _binaryType = Symbol("[[binaryType]]");
const _bufferedAmount = Symbol("[[bufferedAmount]]");
+ const _eventLoop = Symbol("[[eventLoop]]");
class WebSocket extends EventTarget {
[_rid];
@@ -294,7 +295,7 @@
const event = new Event("open");
this.dispatchEvent(event);
- this.#eventLoop();
+ this[_eventLoop]();
}
},
(err) => {
@@ -427,7 +428,7 @@
}
}
- async #eventLoop() {
+ async [_eventLoop]() {
while (this[_readyState] === OPEN) {
const { kind, value } = await core.opAsync(
"op_ws_next_event",
@@ -518,5 +519,11 @@
webidl.configurePrototype(WebSocket);
- window.__bootstrap.webSocket = { WebSocket };
+ window.__bootstrap.webSocket = {
+ WebSocket,
+ _rid,
+ _readyState,
+ _eventLoop,
+ _protocol,
+ };
})(this);