fcoin/lib/net/dns-browser.js
2017-02-03 22:47:26 -08:00

54 lines
1.0 KiB
JavaScript

/*!
* dns.js - dns backend for bcoin
* Copyright (c) 2014-2017, Christopher Jeffrey (MIT License).
* https://github.com/bcoin-org/bcoin
*/
'use strict';
var ProxySocket = require('./proxysocket');
var socket;
/**
* Resolve host (no getaddrinfo).
* @ignore
* @param {String} host
* @param {String?} proxy
* @param {Boolean?} onion
* @returns {Promise}
*/
exports.resolve = function resolve(host, proxy, onion) {
return new Promise(function(resolve, reject) {
if (!socket)
socket = new ProxySocket(proxy);
socket.resolve(host, 'A', function(err, result) {
if (err) {
reject(err);
return;
}
if (result.length === 0) {
reject(new Error('No DNS results.'));
return;
}
resolve(result);
});
});
};
/**
* Resolve host (getaddrinfo).
* @ignore
* @param {String} host
* @param {String?} proxy
* @param {Boolean?} onion
* @returns {Promise}
*/
exports.lookup = function lookup(host, proxy, onion) {
return exports.resolve(host, proxy, onion);
};