Skip to content

Commit 1866f1f

Browse files
authored
feat(h2): emit connectionError upon GOAWAY frame (#4123)
1 parent 242ec9b commit 1866f1f

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

lib/dispatcher/client-h2.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ function onHttp2SessionGoAway (errorCode) {
208208
assert(client[kRunning] === 0)
209209

210210
client.emit('disconnect', client[kUrl], [client], err)
211+
client.emit('connectionError', client[kUrl], [client], err)
211212

212213
client[kResume]()
213214
}

test/http2.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1492,7 +1492,7 @@ test('#3046 - GOAWAY Frame', async t => {
14921492
allowH2: true
14931493
})
14941494

1495-
t = tspl(t, { plan: 7 })
1495+
t = tspl(t, { plan: 10 })
14961496
after(() => client.close())
14971497
after(() => server.close())
14981498

@@ -1502,6 +1502,12 @@ test('#3046 - GOAWAY Frame', async t => {
15021502
t.strictEqual(err.message, 'HTTP/2: "GOAWAY" frame received with code 0')
15031503
})
15041504

1505+
client.on('connectionError', (url, disconnectClient, err) => {
1506+
t.ok(url instanceof URL)
1507+
t.deepStrictEqual(disconnectClient, [client])
1508+
t.strictEqual(err.message, 'HTTP/2: "GOAWAY" frame received with code 0')
1509+
})
1510+
15051511
const response = await client.request({
15061512
path: '/',
15071513
method: 'GET',

0 commit comments

Comments
 (0)