1'use strict'; 2const common = require('../common'); 3if (!common.hasCrypto) 4 common.skip('missing crypto'); 5const fixtures = require('../common/fixtures'); 6const assert = require('assert'); 7const https = require('https'); 8 9// Disable strict server certificate validation by the client 10process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; 11 12const options = { 13 key: fixtures.readKey('agent1-key.pem'), 14 cert: fixtures.readKey('agent1-cert.pem') 15}; 16 17const server = https.Server(options, common.mustCall((req, res) => { 18 res.writeHead(200); 19 res.end('Hello, World!'); 20})); 21 22server.listen(0, common.mustCall(() => { 23 const agent = new https.Agent(); 24 const name = agent.getName({ port: server.address().port }); 25 https.globalAgent = agent; 26 27 makeRequest(); 28 assert(name in agent.sockets); // Agent has indeed been used 29})); 30 31function makeRequest() { 32 const req = https.get({ 33 port: server.address().port 34 }); 35 req.on('close', () => 36 server.close()); 37} 38