This commit is contained in:
2016-11-15 22:40:40 +01:00
parent 04733a5f52
commit 700ab08315
11 changed files with 38 additions and 166 deletions

View File

@ -1,8 +1,8 @@
import 'typings-global'
import * as beautylog from 'beautylog'
let dnsSocket = require('dns-socket')
import * as dns from 'dns'
export {
beautylog,
dnsSocket
dns
}

View File

@ -19,13 +19,11 @@ export type TDnsRecordType = 'A'
export class Dnsly {
dnsServerIp: string
dnsServerPort: number
dnsSocketInstance
/**
* constructor for class dnsly
*/
constructor(dnsProviderArg: TDnsProvider) {
this._setDnsProvider(dnsProviderArg)
this.dnsSocketInstance = plugins.dnsSocket()
}
/**
@ -33,31 +31,15 @@ export class Dnsly {
*/
getRecord(recordNameArg: string, recordTypeArg: TDnsRecordType) {
let done = q.defer()
this.dnsSocketInstance.query(
{
questions: [{
type: recordTypeArg,
name: recordNameArg
}]
},
this.dnsServerPort,
this.dnsServerIp,
(err, res) => {
if (err) {
done.reject(err)
}
done.resolve(res)
})
plugins.dns.resolve(recordNameArg,recordTypeArg, (err, addresses) => {
if (err) {
done.reject(err)
}
done.resolve(addresses)
})
return done.promise
}
/**
* close the dnsly instance
*/
close() {
this.dnsSocketInstance.destroy()
}
/**
* set the DNS provider
*/
@ -65,6 +47,7 @@ export class Dnsly {
if (dnsProvider === 'google') {
this.dnsServerIp = '8.8.8.8'
this.dnsServerPort = 53
plugins.dns.setServers(['8.8.8.8','8.8.4.4'])
} else {
throw new Error('unknown dns provider')
}