◐ Shell
clean mode source ↗

dns: remove redundant code using common variable · nodejs/node@4fe9916

Original file line numberDiff line numberDiff line change

@@ -46,6 +46,8 @@ const {

4646

getDefaultResultOrder,

4747

setDefaultResultOrder,

4848

errorCodes: dnsErrorCodes,

49+

validDnsOrders,

50+

validFamilies,

4951

} = require('internal/dns/utils');

5052

const {

5153

Resolver,

@@ -138,7 +140,6 @@ function onlookupall(err, addresses) {

138140
139141

// Easy DNS A/AAAA look up

140142

// lookup(hostname, [options,] callback)

141-

const validFamilies = [0, 4, 6];

142143

function lookup(hostname, options, callback) {

143144

let hints = 0;

144145

let family = 0;

@@ -192,7 +193,7 @@ function lookup(hostname, options, callback) {

192193

dnsOrder = options.verbatim ? 'verbatim' : 'ipv4first';

193194

}

194195

if (options?.order != null) {

195-

validateOneOf(options.order, 'options.order', ['ipv4first', 'ipv6first', 'verbatim']);

196+

validateOneOf(options.order, 'options.order', validDnsOrders);

196197

dnsOrder = options.order;

197198

}

198199

}

Original file line numberDiff line numberDiff line change

@@ -16,6 +16,8 @@ const {

1616

getDefaultResultOrder,

1717

setDefaultResultOrder,

1818

setDefaultResolver,

19+

validDnsOrders,

20+

validFamilies,

1921

} = require('internal/dns/utils');

2022
2123

const {

@@ -179,7 +181,6 @@ function createLookupPromise(family, hostname, all, hints, dnsOrder) {

179181

});

180182

}

181183
182-

const validFamilies = [0, 4, 6];

183184

/**

184185

* Get the IP address for a given hostname.

185186

* @param {string} hostname - The hostname to resolve (ex. 'nodejs.org').

@@ -227,7 +228,7 @@ function lookup(hostname, options) {

227228

dnsOrder = options.verbatim ? 'verbatim' : 'ipv4first';

228229

}

229230

if (options?.order != null) {

230-

validateOneOf(options.order, 'options.order', ['ipv4first', 'ipv6first', 'verbatim']);

231+

validateOneOf(options.order, 'options.order', validDnsOrders);

231232

dnsOrder = options.order;

232233

}

233234

}

Original file line numberDiff line numberDiff line change

@@ -201,14 +201,16 @@ class ResolverBase {

201201
202202

let defaultResolver;

203203

let dnsOrder;

204+

const validDnsOrders = ['verbatim', 'ipv4first', 'ipv6first'];

205+

const validFamilies = [0, 4, 6];

204206
205207

function initializeDns() {

206208

const orderFromCLI = getOptionValue('--dns-result-order');

207209

if (!orderFromCLI) {

208210

dnsOrder ??= 'verbatim';

209211

} else {

210212

// Allow the deserialized application to override order from CLI.

211-

validateOneOf(orderFromCLI, '--dns-result-order', ['verbatim', 'ipv4first', 'ipv6first']);

213+

validateOneOf(orderFromCLI, '--dns-result-order', validDnsOrders);

212214

dnsOrder = orderFromCLI;

213215

}

214216

@@ -281,7 +283,7 @@ function emitInvalidHostnameWarning(hostname) {

281283

}

282284
283285

function setDefaultResultOrder(value) {

284-

validateOneOf(value, 'dnsOrder', ['verbatim', 'ipv4first', 'ipv6first']);

286+

validateOneOf(value, 'dnsOrder', validDnsOrders);

285287

dnsOrder = value;

286288

}

287289

@@ -356,4 +358,6 @@ module.exports = {

356358

errorCodes,

357359

createResolverClass,

358360

initializeDns,

361+

validDnsOrders,

362+

validFamilies,

359363

};