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 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)`
|
||||
|
||||
<!-- 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
|
||||
default dns orders in workers.
|
||||
|
||||
### `dnsPromises.getDefaultResultOrder()`
|
||||
|
||||
<!-- YAML
|
||||
added: REPLACEME
|
||||
-->
|
||||
|
||||
Get the value of `dnsOrder`.
|
||||
|
||||
### `dnsPromises.setServers(servers)`
|
||||
|
||||
<!-- YAML
|
||||
|
@ -38,6 +38,7 @@ const {
|
||||
validateHints,
|
||||
emitInvalidHostnameWarning,
|
||||
getDefaultVerbatim,
|
||||
getDefaultResultOrder,
|
||||
setDefaultResultOrder,
|
||||
errorCodes: dnsErrorCodes,
|
||||
} = require('internal/dns/utils');
|
||||
@ -305,6 +306,7 @@ module.exports = {
|
||||
lookupService,
|
||||
|
||||
Resolver,
|
||||
getDefaultResultOrder,
|
||||
setDefaultResultOrder,
|
||||
setServers: defaultResolverSetServers,
|
||||
|
||||
|
@ -14,6 +14,7 @@ const {
|
||||
emitInvalidHostnameWarning,
|
||||
getDefaultVerbatim,
|
||||
errorCodes: dnsErrorCodes,
|
||||
getDefaultResultOrder,
|
||||
setDefaultResultOrder,
|
||||
setDefaultResolver,
|
||||
} = require('internal/dns/utils');
|
||||
@ -335,6 +336,7 @@ module.exports = {
|
||||
lookup,
|
||||
lookupService,
|
||||
Resolver,
|
||||
getDefaultResultOrder,
|
||||
setDefaultResultOrder,
|
||||
setServers: defaultResolverSetServers,
|
||||
|
||||
|
@ -284,6 +284,10 @@ function setDefaultResultOrder(value) {
|
||||
dnsOrder = value;
|
||||
}
|
||||
|
||||
function getDefaultResultOrder() {
|
||||
return dnsOrder;
|
||||
}
|
||||
|
||||
function createResolverClass(resolver) {
|
||||
const resolveMap = { __proto__: null };
|
||||
|
||||
@ -346,6 +350,7 @@ module.exports = {
|
||||
validateTries,
|
||||
emitInvalidHostnameWarning,
|
||||
getDefaultVerbatim,
|
||||
getDefaultResultOrder,
|
||||
setDefaultResultOrder,
|
||||
errorCodes,
|
||||
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