Skip to content

Commit

Permalink
dns: update lookupService() first arg name
Browse files Browse the repository at this point in the history
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 <[email protected]>
Reviewed-By: Sam Roberts <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
  • Loading branch information
cjihrig authored and targos committed Aug 19, 2019
1 parent e3b1243 commit 6f7b561
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 19 deletions.
15 changes: 7 additions & 8 deletions lib/dns.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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;
}

Expand Down
10 changes: 5 additions & 5 deletions lib/internal/dns/promises.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}


Expand Down
12 changes: 6 additions & 6 deletions test/parallel/test-dns.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down

0 comments on commit 6f7b561

Please sign in to comment.