Skip to content
Permalink
Browse files

dns: update lookupService() first arg name

The first argument to lookupService() should be an IP address,
and is named "address" in the documentation. This commit updates
the code to match the documentation and provide less confusing
errors.

PR-URL: #29040
Fixes: #29039
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
  • Loading branch information...
cjihrig authored and targos committed Aug 8, 2019
1 parent e3b1243 commit 6f7b561295e3ab46d37e196496208d429251fdde
Showing with 18 additions and 19 deletions.
  1. +7 −8 lib/dns.js
  2. +5 −5 lib/internal/dns/promises.js
  3. +6 −6 test/parallel/test-dns.js
@@ -164,13 +164,12 @@ function onlookupservice(err, hostname, service) {
}


// lookupService(address, port, callback)
function lookupService(hostname, port, callback) {
function lookupService(address, port, callback) {
if (arguments.length !== 3)
throw new ERR_MISSING_ARGS('hostname', 'port', 'callback');
throw new ERR_MISSING_ARGS('address', 'port', 'callback');

if (isIP(hostname) === 0)
throw new ERR_INVALID_OPT_VALUE('hostname', hostname);
if (isIP(address) === 0)
throw new ERR_INVALID_OPT_VALUE('address', address);

if (!isLegalPort(port))
throw new ERR_SOCKET_BAD_PORT(port);
@@ -182,12 +181,12 @@ function lookupService(hostname, port, callback) {

const req = new GetNameInfoReqWrap();
req.callback = callback;
req.hostname = hostname;
req.hostname = address;
req.port = port;
req.oncomplete = onlookupservice;

const err = cares.getnameinfo(req, hostname, port);
if (err) throw dnsException(err, 'getnameinfo', hostname);
const err = cares.getnameinfo(req, address, port);
if (err) throw dnsException(err, 'getnameinfo', address);
return req;
}

@@ -151,17 +151,17 @@ function createLookupServicePromise(hostname, port) {
});
}

function lookupService(hostname, port) {
function lookupService(address, port) {
if (arguments.length !== 2)
throw new ERR_MISSING_ARGS('hostname', 'port');
throw new ERR_MISSING_ARGS('address', 'port');

if (isIP(hostname) === 0)
throw new ERR_INVALID_OPT_VALUE('hostname', hostname);
if (isIP(address) === 0)
throw new ERR_INVALID_OPT_VALUE('address', address);

if (!isLegalPort(port))
throw new ERR_SOCKET_BAD_PORT(port);

return createLookupServicePromise(hostname, +port);
return createLookupServicePromise(address, +port);
}


@@ -265,29 +265,29 @@ dns.lookup('', {
const err = {
code: 'ERR_MISSING_ARGS',
type: TypeError,
message: 'The "hostname", "port", and "callback" arguments must be ' +
message: 'The "address", "port", and "callback" arguments must be ' +
'specified'
};

common.expectsError(() => dns.lookupService('0.0.0.0'), err);
err.message = 'The "hostname" and "port" arguments must be specified';
err.message = 'The "address" and "port" arguments must be specified';
common.expectsError(() => dnsPromises.lookupService('0.0.0.0'), err);
}

{
const invalidHost = 'fasdfdsaf';
const invalidAddress = 'fasdfdsaf';
const err = {
code: 'ERR_INVALID_OPT_VALUE',
type: TypeError,
message: `The value "${invalidHost}" is invalid for option "hostname"`
message: `The value "${invalidAddress}" is invalid for option "address"`
};

common.expectsError(() => {
dnsPromises.lookupService(invalidHost, 0);
dnsPromises.lookupService(invalidAddress, 0);
}, err);

common.expectsError(() => {
dns.lookupService(invalidHost, 0, common.mustNotCall());
dns.lookupService(invalidAddress, 0, common.mustNotCall());
}, err);
}

0 comments on commit 6f7b561

Please sign in to comment.
You can’t perform that action at this time.