refactor: http upgrade internals (#30612)
Some checks are pending
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions

clean up some outdated code and implement a few performance
improvements. most notably, the response from `upgradeWebSocket` is now
actually used as a normal response.

a followup pr will rework raw upgrades to a greater extent
This commit is contained in:
snek 2025-09-19 09:33:32 +02:00 committed by GitHub
parent cd0a592b2d
commit 4772778107
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 459 additions and 815 deletions

View file

@ -146,7 +146,6 @@ const _sendQueue = Symbol("[[sendQueue]]");
const _queueSend = Symbol("[[queueSend]]");
const _cancelHandle = Symbol("[[cancelHandle]]");
const _server = Symbol("[[server]]");
const _idleTimeoutDuration = Symbol("[[idleTimeout]]");
const _idleTimeoutTimeout = Symbol("[[idleTimeoutTimeout]]");
const _serverHandleIdleTimeout = Symbol("[[serverHandleIdleTimeout]]");
@ -449,7 +448,7 @@ class WebSocket extends EventTarget {
reason = webidl.converters.USVString(reason, prefix, "Argument 2");
}
if (!this[_server]) {
if (this[_role] === CLIENT) {
if (
code !== undefined &&
!(code === 1000 || (3000 <= code && code < 5000))
@ -768,8 +767,8 @@ export {
_readyState,
_rid,
_role,
_server,
_serverHandleIdleTimeout,
CLIENT,
createWebSocketBranded,
SERVER,
WebSocket,