mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
1aa491a88f
note that this is for the `Http2Server` class. I'll soon be adding one for `Http2SecureServer` as well. Refs: https://github.com/nodejs/node/issues/29829 PR-URL: https://github.com/nodejs/node/pull/33162 Reviewed-By: James M Snell <jasnell@gmail.com>
29 lines
884 B
JavaScript
29 lines
884 B
JavaScript
'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();
|
|
}));
|