| 'use strict'; |
| |
| require('../common'); |
| const assert = require('assert'); |
| const http = require('http'); |
| const path = require('path'); |
| |
| const tmpdir = require('../common/tmpdir'); |
| |
| const agent = new http.Agent(); |
| |
| // Default to localhost |
| assert.strictEqual( |
| agent.getName({ |
| port: 80, |
| localAddress: '192.168.1.1' |
| }), |
| 'localhost:80:192.168.1.1' |
| ); |
| |
| // empty |
| assert.strictEqual( |
| agent.getName({}), |
| 'localhost::' |
| ); |
| |
| // pass all arguments |
| assert.strictEqual( |
| agent.getName({ |
| host: '0.0.0.0', |
| port: 80, |
| localAddress: '192.168.1.1' |
| }), |
| '0.0.0.0:80:192.168.1.1' |
| ); |
| |
| // unix socket |
| const socketPath = path.join(tmpdir.path, 'foo', 'bar'); |
| assert.strictEqual( |
| agent.getName({ |
| socketPath |
| }), |
| `localhost:::${socketPath}` |
| ); |
| |
| for (const family of [0, null, undefined, 'bogus']) |
| assert.strictEqual(agent.getName({ family }), 'localhost::'); |
| |
| for (const family of [4, 6]) |
| assert.strictEqual(agent.getName({ family }), `localhost:::${family}`); |