diff options
author | Leo K <crowlkats@toaxl.com> | 2021-08-09 10:45:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-09 10:45:59 +0200 |
commit | f546f51698636e629f3c314cd73e2cf4f176b330 (patch) | |
tree | 8ab76f3de9bd0a872b8b248d5325b25edea69bd9 /extensions/websocket/01_websocket.js | |
parent | 16ae4a0d5799c9a4ed776f32929f73b1063ae4e8 (diff) |
fix(websocket): allow any close code for server (#11614)
Diffstat (limited to 'extensions/websocket/01_websocket.js')
-rw-r--r-- | extensions/websocket/01_websocket.js | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/extensions/websocket/01_websocket.js b/extensions/websocket/01_websocket.js index 7caff579e..7af795197 100644 --- a/extensions/websocket/01_websocket.js +++ b/extensions/websocket/01_websocket.js @@ -125,6 +125,7 @@ const _binaryType = Symbol("[[binaryType]]"); const _bufferedAmount = Symbol("[[bufferedAmount]]"); const _eventLoop = Symbol("[[eventLoop]]"); + const _server = Symbol("[[server]]"); class WebSocket extends EventTarget { [_rid]; @@ -387,13 +388,16 @@ }); } - if ( - code !== undefined && !(code === 1000 || (3000 <= code && code < 5000)) - ) { - throw new DOMException( - "The close code must be either 1000 or in the range of 3000 to 4999.", - "InvalidAccessError", - ); + if (!this[_server]) { + if ( + code !== undefined && + !(code === 1000 || (3000 <= code && code < 5000)) + ) { + throw new DOMException( + "The close code must be either 1000 or in the range of 3000 to 4999.", + "InvalidAccessError", + ); + } } if (reason !== undefined && core.encode(reason).byteLength > 123) { @@ -525,5 +529,6 @@ _readyState, _eventLoop, _protocol, + _server, }; })(this); |