1'use strict';
2const common = require('../common');
3const assert = require('assert');
4const http = require('http');
5
6const server = http.Server(common.mustCall((req, res) => {
7  res.writeHead(200);
8  res.end('Hello, World!');
9}));
10
11server.listen(0, common.mustCall(() => {
12  const agent = new http.Agent();
13  const name = agent.getName({ port: server.address().port });
14  http.globalAgent = agent;
15
16  makeRequest();
17  assert(name in agent.sockets); // Agent has indeed been used
18}));
19
20function makeRequest() {
21  const req = http.get({
22    port: server.address().port
23  });
24  req.on('close', () => {
25    assert.strictEqual(req.destroyed, true);
26    server.close();
27  });
28}
29