dns: expose getDefaultResultOrder
PR-URL: https://github.com/nodejs/node/pull/46973 Fixes: https://github.com/nodejs/node/issues/46919 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Paolo Insogna <paolo@cowtech.it>
This commit is contained in:
parent
71a776b928
commit
2ac5e9889a
@ -792,6 +792,18 @@ priority than [`--dns-result-order`][]. When using [worker threads][],
|
|||||||
[`dns.setDefaultResultOrder()`][] from the main thread won't affect the default
|
[`dns.setDefaultResultOrder()`][] from the main thread won't affect the default
|
||||||
dns orders in workers.
|
dns orders in workers.
|
||||||
|
|
||||||
|
## `dns.getDefaultResultOrder()`
|
||||||
|
|
||||||
|
<!-- YAML
|
||||||
|
added: REPLACEME
|
||||||
|
-->
|
||||||
|
|
||||||
|
Get the default value for `verbatim` in [`dns.lookup()`][] and
|
||||||
|
[`dnsPromises.lookup()`][]. The value could be:
|
||||||
|
|
||||||
|
* `ipv4first`: for `verbatim` defaulting to `false`.
|
||||||
|
* `verbatim`: for `verbatim` defaulting to `true`.
|
||||||
|
|
||||||
## `dns.setServers(servers)`
|
## `dns.setServers(servers)`
|
||||||
|
|
||||||
<!-- YAML
|
<!-- YAML
|
||||||
@ -1351,6 +1363,14 @@ higher priority than [`--dns-result-order`][]. When using [worker threads][],
|
|||||||
[`dnsPromises.setDefaultResultOrder()`][] from the main thread won't affect the
|
[`dnsPromises.setDefaultResultOrder()`][] from the main thread won't affect the
|
||||||
default dns orders in workers.
|
default dns orders in workers.
|
||||||
|
|
||||||
|
### `dnsPromises.getDefaultResultOrder()`
|
||||||
|
|
||||||
|
<!-- YAML
|
||||||
|
added: REPLACEME
|
||||||
|
-->
|
||||||
|
|
||||||
|
Get the value of `dnsOrder`.
|
||||||
|
|
||||||
### `dnsPromises.setServers(servers)`
|
### `dnsPromises.setServers(servers)`
|
||||||
|
|
||||||
<!-- YAML
|
<!-- YAML
|
||||||
|
@ -38,6 +38,7 @@ const {
|
|||||||
validateHints,
|
validateHints,
|
||||||
emitInvalidHostnameWarning,
|
emitInvalidHostnameWarning,
|
||||||
getDefaultVerbatim,
|
getDefaultVerbatim,
|
||||||
|
getDefaultResultOrder,
|
||||||
setDefaultResultOrder,
|
setDefaultResultOrder,
|
||||||
errorCodes: dnsErrorCodes,
|
errorCodes: dnsErrorCodes,
|
||||||
} = require('internal/dns/utils');
|
} = require('internal/dns/utils');
|
||||||
@ -305,6 +306,7 @@ module.exports = {
|
|||||||
lookupService,
|
lookupService,
|
||||||
|
|
||||||
Resolver,
|
Resolver,
|
||||||
|
getDefaultResultOrder,
|
||||||
setDefaultResultOrder,
|
setDefaultResultOrder,
|
||||||
setServers: defaultResolverSetServers,
|
setServers: defaultResolverSetServers,
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@ const {
|
|||||||
emitInvalidHostnameWarning,
|
emitInvalidHostnameWarning,
|
||||||
getDefaultVerbatim,
|
getDefaultVerbatim,
|
||||||
errorCodes: dnsErrorCodes,
|
errorCodes: dnsErrorCodes,
|
||||||
|
getDefaultResultOrder,
|
||||||
setDefaultResultOrder,
|
setDefaultResultOrder,
|
||||||
setDefaultResolver,
|
setDefaultResolver,
|
||||||
} = require('internal/dns/utils');
|
} = require('internal/dns/utils');
|
||||||
@ -335,6 +336,7 @@ module.exports = {
|
|||||||
lookup,
|
lookup,
|
||||||
lookupService,
|
lookupService,
|
||||||
Resolver,
|
Resolver,
|
||||||
|
getDefaultResultOrder,
|
||||||
setDefaultResultOrder,
|
setDefaultResultOrder,
|
||||||
setServers: defaultResolverSetServers,
|
setServers: defaultResolverSetServers,
|
||||||
|
|
||||||
|
@ -284,6 +284,10 @@ function setDefaultResultOrder(value) {
|
|||||||
dnsOrder = value;
|
dnsOrder = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getDefaultResultOrder() {
|
||||||
|
return dnsOrder;
|
||||||
|
}
|
||||||
|
|
||||||
function createResolverClass(resolver) {
|
function createResolverClass(resolver) {
|
||||||
const resolveMap = { __proto__: null };
|
const resolveMap = { __proto__: null };
|
||||||
|
|
||||||
@ -346,6 +350,7 @@ module.exports = {
|
|||||||
validateTries,
|
validateTries,
|
||||||
emitInvalidHostnameWarning,
|
emitInvalidHostnameWarning,
|
||||||
getDefaultVerbatim,
|
getDefaultVerbatim,
|
||||||
|
getDefaultResultOrder,
|
||||||
setDefaultResultOrder,
|
setDefaultResultOrder,
|
||||||
errorCodes,
|
errorCodes,
|
||||||
createResolverClass,
|
createResolverClass,
|
||||||
|
24
test/internet/test-dns-getDefaultResultOrder.js
Normal file
24
test/internet/test-dns-getDefaultResultOrder.js
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const common = require('../common');
|
||||||
|
|
||||||
|
const assert = require('assert');
|
||||||
|
const dns = require('dns');
|
||||||
|
|
||||||
|
dns.setDefaultResultOrder('ipv4first');
|
||||||
|
let dnsOrder = dns.getDefaultResultOrder();
|
||||||
|
assert.ok(dnsOrder === 'ipv4first');
|
||||||
|
dns.setDefaultResultOrder('verbatim');
|
||||||
|
dnsOrder = dns.getDefaultResultOrder();
|
||||||
|
assert.ok(dnsOrder === 'verbatim');
|
||||||
|
|
||||||
|
{
|
||||||
|
(async function() {
|
||||||
|
const result = await dns.promises.lookup('localhost');
|
||||||
|
const result1 = await dns.promises.lookup('localhost', { verbatim: true });
|
||||||
|
assert.ok(result !== undefined);
|
||||||
|
assert.ok(result1 !== undefined);
|
||||||
|
assert.ok(result.address === result1.address);
|
||||||
|
assert.ok(result.family === result1.family);
|
||||||
|
})().then(common.mustCall());
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user