1'use strict'; 2 3const common = require('../common'); 4if (!common.hasCrypto) 5 common.skip('missing crypto'); 6const h2 = require('http2'); 7 8// Errors should not be reported both in Http2ServerRequest 9// and Http2ServerResponse 10 11let expected = null; 12 13const server = h2.createServer(common.mustCall(function(req, res) { 14 res.stream.on('error', common.mustCall()); 15 req.on('error', common.mustNotCall()); 16 res.on('error', common.mustNotCall()); 17 req.on('aborted', common.mustCall()); 18 res.on('aborted', common.mustNotCall()); 19 20 res.write('hello'); 21 22 expected = new Error('kaboom'); 23 res.stream.destroy(expected); 24 server.close(); 25})); 26 27server.listen(0, common.mustCall(function() { 28 const url = `http://localhost:${server.address().port}`; 29 const client = h2.connect(url, common.mustCall(() => { 30 const request = client.request(); 31 request.on('data', common.mustCall((chunk) => { 32 client.destroy(); 33 })); 34 })); 35})); 36