diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/http/01_http.js | 4 | ||||
-rw-r--r-- | ext/websocket/01_websocket.js | 15 |
2 files changed, 17 insertions, 2 deletions
diff --git a/ext/http/01_http.js b/ext/http/01_http.js index acaea5e7c..309e44ee4 100644 --- a/ext/http/01_http.js +++ b/ext/http/01_http.js @@ -3,7 +3,6 @@ import { core, internals, primordials } from "ext:core/mod.js"; const { BadResourcePrototype, InterruptedPrototype, ops } = core; const { op_http_write } = Deno.core.ensureFastOps(); -import * as webidl from "ext:deno_webidl/00_webidl.js"; import { InnerBody } from "ext:deno_fetch/22_body.js"; import { Event, setEventTargetData } from "ext:deno_web/02_event.js"; import { BlobPrototype } from "ext:deno_web/09_file.js"; @@ -29,6 +28,7 @@ import { _role, _server, _serverHandleIdleTimeout, + createWebSocketBranded, SERVER, WebSocket, } from "ext:deno_websocket/01_websocket.js"; @@ -472,7 +472,7 @@ function upgradeWebSocket(request, options = {}) { } } - const socket = webidl.createBranded(WebSocket); + const socket = createWebSocketBranded(WebSocket); setEventTargetData(socket); socket[_server] = true; socket[_idleTimeoutDuration] = options.idleTimeout ?? 120; diff --git a/ext/websocket/01_websocket.js b/ext/websocket/01_websocket.js index 477f93b93..2aea08071 100644 --- a/ext/websocket/01_websocket.js +++ b/ext/websocket/01_websocket.js @@ -582,6 +582,20 @@ defineEventHandler(WebSocket.prototype, "open"); webidl.configureInterface(WebSocket); const WebSocketPrototype = WebSocket.prototype; +function createWebSocketBranded() { + const socket = webidl.createBranded(WebSocket); + socket[_rid] = undefined; + socket[_role] = undefined; + socket[_readyState] = CONNECTING; + socket[_extensions] = ""; + socket[_protocol] = ""; + socket[_url] = ""; + socket[_binaryType] = "blob"; + socket[_idleTimeoutDuration] = 0; + socket[_idleTimeoutTimeout] = undefined; + return socket; +} + export { _eventLoop, _idleTimeoutDuration, @@ -592,6 +606,7 @@ export { _role, _server, _serverHandleIdleTimeout, + createWebSocketBranded, SERVER, WebSocket, }; |