1'use strict'; 2const common = require('../common'); 3if (!common.hasCrypto) { 4 common.skip('missing crypto'); 5} 6 7const fixtures = require('../common/fixtures'); 8const assert = require('assert'); 9const http2 = require('http2'); 10 11const serverOptions = { 12 key: fixtures.readKey('agent1-key.pem'), 13 cert: fixtures.readKey('agent1-cert.pem') 14}; 15const server = http2.createSecureServer(serverOptions, common.mustCall( 16 (req, res) => { 17 const request = req; 18 assert.strictEqual(request.socket.encrypted, true); 19 assert.ok('encrypted' in request.socket); 20 res.end(); 21 } 22)); 23server.listen(common.mustCall(() => { 24 const port = server.address().port; 25 const client = http2.connect('https://localhost:' + port, { 26 ca: fixtures.readKey('agent1-cert.pem'), 27 rejectUnauthorized: false 28 }); 29 const req = client.request({}); 30 req.on('response', common.mustCall((headers, flags) => { 31 console.log(headers); 32 server.close(common.mustCall(() => { 33 })); 34 })); 35 req.on('end', common.mustCall(() => { 36 client.close(); 37 })); 38 req.end(); 39})); 40