diff --git a/Build/lib/is-domain-alive.test.ts b/Build/lib/is-domain-alive.test.ts index 5fd819df..669bb4ed 100644 --- a/Build/lib/is-domain-alive.test.ts +++ b/Build/lib/is-domain-alive.test.ts @@ -38,6 +38,24 @@ describe('whoisExists', () => { } })).toBe('No entries found for the selected source(s).'); }); + + it('nosuchpool.cl', async () => { + expect(noWhois({ + 'whois.nic.cl': { + 'Domain Status': [], + 'Name Server': [], + 'nosuchpool.cl': 'no entries found.', + text: [ + '%%', + '%% This is the NIC Chile Whois server (whois.nic.cl).', + '%%', + '%% Rights restricted by copyright.', + '%% See https://www.nic.cl/normativa/politica-publicacion-de-datos-cl.pdf', + '%%' + ] + } + })).toBe('nosuchpool.cl: no entries found.'); + }); }); describe('isDomainAlive', function () { @@ -75,8 +93,8 @@ describe('isDomainAlive', function () { // expect((await isDomainAlive('.tayfundogdas.me', true))[1]).toEqual(true); // }); - it('9s6q.cn', async () => { + it('nosuchpool.cl', async () => { process.env.DEBUG = 'true'; - expect((await isDomainAlive('.9s6q.cn', true))[1]).toEqual(false); + expect((await isDomainAlive('.nosuchpool.cl', true))[1]).toEqual(false); }); }); diff --git a/Build/lib/is-domain-alive.ts b/Build/lib/is-domain-alive.ts index 0a55a830..58c0f0b0 100644 --- a/Build/lib/is-domain-alive.ts +++ b/Build/lib/is-domain-alive.ts @@ -282,6 +282,26 @@ export function noWhois(whois: whoiser.WhoisSearchResult): null | string { continue; } + if (key === 'Domain Status') { + if (Array.isArray(whois[key])) { + for (const status of whois[key]) { + if (whoisNotFoundKeywordTest(status.toLowerCase())) { + return key + ': ' + status; + } + } + } + + continue; + } + + if (typeof whois[key] === 'string' && whois[key]) { + if (whoisNotFoundKeywordTest(whois[key].toLowerCase())) { + return key + ': ' + whois[key]; + } + + continue; + } + if (typeof whois[key] === 'object' && !Array.isArray(whois[key])) { const tmp = noWhois(whois[key]); if (tmp) {