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