2015-05-04 19:24:59 -07:00
|
|
|
'use strict';
|
|
|
|
|
2017-12-24 22:38:11 -08:00
|
|
|
require('../common');
|
2016-05-28 18:57:25 +02:00
|
|
|
const assert = require('assert');
|
|
|
|
const http = require('http');
|
2015-05-04 19:24:59 -07:00
|
|
|
|
2017-12-24 22:38:11 -08:00
|
|
|
const tmpdir = require('../common/tmpdir');
|
|
|
|
|
2016-05-28 18:57:25 +02:00
|
|
|
const agent = new http.Agent();
|
2015-05-04 19:24:59 -07:00
|
|
|
|
2019-03-22 03:44:26 +01:00
|
|
|
// Default to localhost
|
2016-05-28 18:57:25 +02:00
|
|
|
assert.strictEqual(
|
2015-05-04 19:24:59 -07:00
|
|
|
agent.getName({
|
|
|
|
port: 80,
|
|
|
|
localAddress: '192.168.1.1'
|
|
|
|
}),
|
|
|
|
'localhost:80:192.168.1.1'
|
|
|
|
);
|
|
|
|
|
2022-02-27 23:01:01 +08:00
|
|
|
// empty argument
|
|
|
|
assert.strictEqual(
|
|
|
|
agent.getName(),
|
|
|
|
'localhost::'
|
|
|
|
);
|
|
|
|
|
|
|
|
// empty options
|
2016-05-28 18:57:25 +02:00
|
|
|
assert.strictEqual(
|
2015-05-04 19:24:59 -07:00
|
|
|
agent.getName({}),
|
|
|
|
'localhost::'
|
|
|
|
);
|
|
|
|
|
|
|
|
// pass all arguments
|
2016-05-28 18:57:25 +02:00
|
|
|
assert.strictEqual(
|
2015-05-04 19:24:59 -07:00
|
|
|
agent.getName({
|
|
|
|
host: '0.0.0.0',
|
|
|
|
port: 80,
|
|
|
|
localAddress: '192.168.1.1'
|
|
|
|
}),
|
|
|
|
'0.0.0.0:80:192.168.1.1'
|
|
|
|
);
|
2016-05-09 16:35:20 +02:00
|
|
|
|
2017-05-25 00:32:04 -07:00
|
|
|
// unix socket
|
2023-08-15 22:45:34 +09:00
|
|
|
const socketPath = tmpdir.resolve('foo', 'bar');
|
2017-05-25 00:32:04 -07:00
|
|
|
assert.strictEqual(
|
|
|
|
agent.getName({
|
|
|
|
socketPath
|
|
|
|
}),
|
|
|
|
`localhost:::${socketPath}`
|
|
|
|
);
|
|
|
|
|
2016-05-09 16:35:20 +02:00
|
|
|
for (const family of [0, null, undefined, 'bogus'])
|
|
|
|
assert.strictEqual(agent.getName({ family }), 'localhost::');
|
|
|
|
|
|
|
|
for (const family of [4, 6])
|
2017-04-28 04:06:42 +03:00
|
|
|
assert.strictEqual(agent.getName({ family }), `localhost:::${family}`);
|