'use strict'; const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); const assert = require('assert'); const http2 = require('http2'); const http2Server = http2.createServer(common.mustCall(function(req, res) { res.socket.on('finish', common.mustCall(() => { assert(req.socket.bytesWritten > 0); // 1094 })); res.writeHead(200, { 'Content-Type': 'text/plain' }); res.write(Buffer.from('1'.repeat(1024))); res.end(); })); http2Server.listen(0, common.mustCall(function() { const URL = `http://localhost:${http2Server.address().port}`; const http2client = http2.connect(URL, { protocol: 'http:' }); const req = http2client.request({ ':method': 'GET', ':path': '/' }); req.on('data', common.mustCall()); req.on('end', common.mustCall(function() { http2client.close(); http2Server.close(); })); req.end(); }));