|
|
|
|
|
|
|
|
| module.exports.resolveSrv = function (hostname, callback) {
|
| const Http = new XMLHttpRequest()
|
| const url = `https://dns.google.com/resolve?name=${hostname}&type=SRV`
|
| Http.open('GET', url)
|
| Http.responseType = 'json'
|
| Http.send()
|
|
|
| Http.onload = function () {
|
| const response = Http.response
|
| if (response.Status === 3) {
|
| const err = new Error('querySrv ENOTFOUND')
|
| err.code = 'ENOTFOUND'
|
| callback(err)
|
| return
|
| }
|
| if (!response.Answer || response.Answer.length < 1) {
|
| const err = new Error('querySrv ENODATA')
|
| err.code = 'ENODATA'
|
| callback(err)
|
| return
|
| }
|
| const willreturn = []
|
| response.Answer.forEach(function (object) {
|
| const data = object.data.split(' ')
|
| willreturn.push({
|
| priority: data[0],
|
| weight: data[1],
|
| port: data[2],
|
| name: data[3]
|
| })
|
| })
|
| console.log(willreturn)
|
| callback(null, willreturn)
|
| }
|
| }
|
|
|