Closed
Description
- Version: v13.13.0
- Platform: Linux solus 5.5.11-151.current deps: update openssl to 1.0.1j #1 SMP PREEMPT Tue Mar 24 18:06:46 UTC 2020 x86_64 GNU/Linux
- Subsystem: http2
What steps will reproduce the bug?
const {connect} = require('http2');
const session = connect('https://www.facebook.com');
session.once('remoteSettings', () => {
console.log('got settings');
session.request({
'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36',
'accept-encoding': 'gzip, deflate, br'
}).once('response', headers => {
console.log('got headers', headers);
}).on('data', chunk => {
console.log(chunk.toString().length);
}).on('end', () => {
console.log('got end');
}).resume();
});
How often does it reproduce? Is there a required condition?
It reproduces 80% of the time. Sometimes it emits the end
event as expected.
What is the expected behavior?
got settings
got headers [Object: null prototype] { ... }
[numbers here]
+got end
What do you see instead?
got settings
got headers [Object: null prototype] { ... }
[numbers here]
Additional information
curl works as expected:
curl --http2 -H 'accept-encoding: gzip, deflate, br' -H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36' https://www.facebook.com>/dev/null
First discovered by @kaatt szmarczak/http2-wrapper#38