HTTP2 Push Stream always results in aborted event being fired
- Version: v10.9.0
- Platform: Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64
- Subsystem: HTTP2
Code sample:
const http2 = require('http2') const server = http2.createServer() server.on('stream', (stream, headers) => { stream.pushStream({ ':path': '/test' }, (err, pushStream) => { if (err) throw err pushStream.end('pushed some data') }) stream.end('some data') }) server.listen(8080, () => { let client = http2.connect('http://localhost:8080') let req = client.request({ ':path': '/' }) req.on('data', (data) => { console.log(data.toString('utf8')) }) client.on('stream', (pushedStream) => { console.log('on stream') pushedStream.on('aborted', () => { console.log('aborted') }) pushedStream.on('end', () => { console.log('end') }) pushedStream.on('data', (data) => { console.log(data.toString('utf8')) }) }) })
Output:
on stream
some data
pushed some data
end
aborted
Expectation:
aborted event is not fired