dns: add custom timeout.
This commit is contained in:
parent
7d9d3f979d
commit
647b6909c6
@ -31,7 +31,7 @@ exports.resolve = function resolve(host, proxy) {
|
|||||||
return socks.resolve(proxy, host);
|
return socks.resolve(proxy, host);
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
dns.resolve(host, 'A', (err, result) => {
|
dns.resolve(host, 'A', to((err, result) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
return;
|
return;
|
||||||
@ -43,7 +43,7 @@ exports.resolve = function resolve(host, proxy) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
resolve(result);
|
resolve(result);
|
||||||
});
|
}));
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ exports.lookup = function lookup(host, proxy) {
|
|||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
let addrs = [];
|
let addrs = [];
|
||||||
|
|
||||||
dns.lookup(host, options, (err, result) => {
|
dns.lookup(host, options, to((err, result) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
return;
|
return;
|
||||||
@ -76,6 +76,24 @@ exports.lookup = function lookup(host, proxy) {
|
|||||||
addrs.push(addr.address);
|
addrs.push(addr.address);
|
||||||
|
|
||||||
resolve(addrs);
|
resolve(addrs);
|
||||||
});
|
}));
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Helpers
|
||||||
|
*/
|
||||||
|
|
||||||
|
function to(callback) {
|
||||||
|
let timeout = setTimeout(() => {
|
||||||
|
callback(new Error('DNS request timed out.'));
|
||||||
|
callback = null;
|
||||||
|
}, 5000);
|
||||||
|
|
||||||
|
return function(err, result) {
|
||||||
|
if (callback) {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
callback(err, result);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user