Closed
Description
Version: v10.16.3
Platform: alpine:3.10 in docker
Subsystem: http_parser: '2.9.2'
HTTP request crashes with HPE_INVALID_HEADER_TOKEN
.
Script to reproduce:
https.get('https://www.dezeen.com/2015/08/04/walden-raft-provides-seclusion-french-lake-elise-morin-florent-albinet-henry-david-thoreau-cabin/', (resp) => { }).on("error", (err) => {
console.log(err);
});
Output:
{ Error: Parse Error
at TLSSocket.socketOnData (_http_client.js:442:20)
at TLSSocket.emit (events.js:198:13)
at TLSSocket.EventEmitter.emit (domain.js:466:23)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at TLSSocket.Readable.push (_stream_readable.js:224:10)
at TLSWrap.onStreamRead (internal/stream_base_commons.js:94:17) bytesParsed: 1087, code: 'HPE_INVALID_HEADER_TOKEN' }
I think it's related to http_parser: '2.9.2'. It does not happen with a slightly older build which uses http_parser: '2.8.0'.
Likely related to #27711 (comment).
The mentioned workaround does not work here, as the --http-parser
option is not available on node v10.