mirror of
https://github.com/nodejs/node.git
synced 2026-10-14 10:26:26 -04:00
net: require 'dns' only once
Avoid unnecessary calls to require('dns') by caching the result of the
first one.
PR-URL: https://github.com/nodejs/node/pull/12342
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
1 parent
bb06add4d7
commit
5d06e5c30d
1 file changed
+11
-3
+11
-3
@@ -40,8 +40,9 @@ const PipeConnectWrap = process.binding('pipe_wrap').PipeConnectWrap;
|
||||
const ShutdownWrap = process.binding('stream_wrap').ShutdownWrap;
|
||||
const WriteWrap = process.binding('stream_wrap').WriteWrap;
|
||||
|
||||
|
||||
var cluster;
|
||||
var dns;
|
||||
|
||||
const errnoException = util._errnoException;
|
||||
const exceptionWithHostPort = util._exceptionWithHostPort;
|
||||
const isLegalPort = internalNet.isLegalPort;
|
||||
@@ -970,7 +971,7 @@ function realConnect(options, cb) {
|
||||
|
||||
|
||||
function lookupAndConnect(self, options) {
|
||||
const dns = require('dns');
|
||||
const dns = lazyDns();
|
||||
var host = options.host || 'localhost';
|
||||
var port = options.port;
|
||||
var localAddress = options.localAddress;
|
||||
@@ -1309,6 +1310,13 @@ function emitListeningNT(self) {
|
||||
}
|
||||
|
||||
|
||||
function lazyDns() {
|
||||
if (dns === undefined)
|
||||
dns = require('dns');
|
||||
return dns;
|
||||
}
|
||||
|
||||
|
||||
function listenInCluster(server, address, port, addressType,
|
||||
backlog, fd, exclusive) {
|
||||
exclusive = !!exclusive;
|
||||
@@ -1437,7 +1445,7 @@ Server.prototype.listen = function() {
|
||||
};
|
||||
|
||||
function lookupAndListen(self, port, address, backlog, exclusive) {
|
||||
const dns = require('dns');
|
||||
const dns = lazyDns();
|
||||
dns.lookup(address, function doListen(err, ip, addressType) {
|
||||
if (err) {
|
||||
self.emit('error', err);
|
||||
|
||||
Reference in new issue
Block a user