Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit a978d0f

Browse files
committedMay 16, 2024·
fixup
1 parent da43971 commit a978d0f

File tree

3 files changed

+24
-5
lines changed

3 files changed

+24
-5
lines changed
 

‎lib/web/websocket/connection.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ function establishWebSocketConnection (url, protocols, client, ws, onEstablish,
9292
// 9. Let permessageDeflate be a user-agent defined
9393
// "permessage-deflate" extension header value.
9494
// https://github.com/mozilla/gecko-dev/blob/ce78234f5e653a5d3916813ff990f053510227bc/netwerk/protocol/websocket/WebSocketChannel.cpp#L2673
95-
const permessageDeflate = 'permessage-deflate'
95+
const permessageDeflate = options.node?.['client-extensions'] ?? ''
9696

9797
// 10. Append (`Sec-WebSocket-Extensions`, permessageDeflate) to
9898
// request’s header list.

‎lib/web/websocket/websocket.js

+14-1
Original file line numberDiff line numberDiff line change
@@ -549,6 +549,14 @@ webidl.converters['DOMString or sequence<DOMString>'] = function (V, prefix, arg
549549
return webidl.converters.DOMString(V, prefix, argument)
550550
}
551551

552+
webidl.converters.WebSocketInitNodeOptions = webidl.dictionaryConverter([
553+
{
554+
key: 'client-extensions',
555+
converter: webidl.converters.DOMString,
556+
defaultValue: () => ''
557+
}
558+
])
559+
552560
// This implements the proposal made in https://github.com/whatwg/websockets/issues/42
553561
webidl.converters.WebSocketInit = webidl.dictionaryConverter([
554562
{
@@ -558,12 +566,17 @@ webidl.converters.WebSocketInit = webidl.dictionaryConverter([
558566
},
559567
{
560568
key: 'dispatcher',
561-
converter: (V) => V,
569+
converter: webidl.converters.any,
562570
defaultValue: () => getGlobalDispatcher()
563571
},
564572
{
565573
key: 'headers',
566574
converter: webidl.nullableConverter(webidl.converters.HeadersInit)
575+
},
576+
{
577+
key: 'node',
578+
converter: webidl.converters.WebSocketInitNodeOptions,
579+
defaultValue: () => ({})
567580
}
568581
])
569582

‎test/autobahn/client.js

+9-3
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,25 @@ let currentTest = 1
66
let testCount
77

88
const autobahnFuzzingserverUrl = process.env.FUZZING_SERVER_URL || 'ws://localhost:9001'
9+
const options = {
10+
node: {
11+
'client-extensions': 'permessage-deflate'
12+
}
13+
}
914

1015
function nextTest () {
1116
let ws
1217

1318
if (currentTest > testCount) {
14-
ws = new WebSocket(`${autobahnFuzzingserverUrl}/updateReports?agent=undici`)
19+
ws = new WebSocket(`${autobahnFuzzingserverUrl}/updateReports?agent=undici`, options)
1520
return
1621
}
1722

1823
console.log(`Running test case ${currentTest}/${testCount}`)
1924

2025
ws = new WebSocket(
21-
`${autobahnFuzzingserverUrl}/runCase?case=${currentTest}&agent=undici`
26+
`${autobahnFuzzingserverUrl}/runCase?case=${currentTest}&agent=undici`,
27+
options
2228
)
2329
ws.addEventListener('message', (data) => {
2430
ws.send(data.data)
@@ -32,7 +38,7 @@ function nextTest () {
3238
})
3339
}
3440

35-
const ws = new WebSocket(`${autobahnFuzzingserverUrl}/getCaseCount`)
41+
const ws = new WebSocket(`${autobahnFuzzingserverUrl}/getCaseCount`, options)
3642
ws.addEventListener('message', (data) => {
3743
testCount = parseInt(data.data)
3844
})

0 commit comments

Comments
 (0)
Please sign in to comment.