aboutsummaryrefslogtreecommitdiff
path: root/mx-aaaa/resolve-mx-aaaa.js
diff options
context:
space:
mode:
Diffstat (limited to 'mx-aaaa/resolve-mx-aaaa.js')
-rw-r--r--mx-aaaa/resolve-mx-aaaa.js59
1 files changed, 35 insertions, 24 deletions
diff --git a/mx-aaaa/resolve-mx-aaaa.js b/mx-aaaa/resolve-mx-aaaa.js
index 870626a..76dfd3b 100644
--- a/mx-aaaa/resolve-mx-aaaa.js
+++ b/mx-aaaa/resolve-mx-aaaa.js
@@ -6,6 +6,27 @@ const rt_output = document.getElementById('output');
const i_txtlist = document.getElementById('txtlist');
const rt_hlist = document.getElementById('hlist');
+let progressCounter = 0;
+let progress = {
+ cur: 0,
+ cnt: 0
+};
+
+function doProgressRender () {
+ const dots = '.'.repeat(progressCounter);
+ let progressStr;
+
+ if (progress.cnt > 0) {
+ const percent = (progress.cur / progress.cnt * 100).toFixed(2);
+ progressStr = `(${progress.cur}/${progress.cnt} ${percent})`;
+ }
+ else {
+ progressStr = '';
+ }
+ rt_status.innerText = `in progress ${progressStr} ${dots}`;
+ progressCounter = (progressCounter + 1) % 4;
+}
+
function onresolvereducer (what, obj, map) {
try {
const cnt_mx = map.mxmap[obj.domain].mx.length;
@@ -19,21 +40,21 @@ function onresolvereducer (what, obj, map) {
else if ((cnt_a > 0 && cnt_mx !== cnt_a) ||
(cnt_aaaa > 0 && cnt_mx !== cnt_aaaa))
{
- return ['redDomainCard', 'some mx missing'];
+ return 'redDomainCard';
}
else if (cnt_aaaa > 0) {
if (cnt_a > 0) {
- return ['greenDomainCard', 'dual stack'];
+ return 'greenDomainCard';
}
else {
- return ['magentaDomainCard', 'ipv6 only'];
+ return 'magentaDomainCard';
}
}
else if (cnt_a > 0) {
- return ['yellowDomainCard', 'ipv4 only'];
+ return 'yellowDomainCard';
}
else {
- return ['redDomainCard', 'no a or aaaa'];
+ return 'redDomainCard';
}
}
@@ -42,23 +63,21 @@ function onresolvereducer (what, obj, map) {
const statusLine = card.getElementsByClassName('domainStatus')[0];
statusLine.innerText = `mx: ${cnt_mx}, a: ${cnt_a}, aaaa: ${cnt_aaaa}`;
- switch (what) {
- case 'a':
- case 'aaaa':
+
+ if (what === 'end') {
const d = determineCard();
+
if (d) {
- card.classList = `domainCard ${d[0]}`;
- statusLine.innerText += ` (${d[1]})`;
+ card.classList = `domainCard ${d}`;
}
- break;
+ progress = obj.progress;
}
-
}
catch (e) {
console.error(e);
}
finally {
- rt_output.innerText += what + ': ' + JSON.stringify(obj) + '\n';
+ console.log(what + ': ' + JSON.stringify(obj) + '\n');
}
}
@@ -70,10 +89,10 @@ function initCards (list) {
const statusLine = document.createElement('span');
statusLine.className = 'domainStatus';
- statusLine.innerText = 'mx: 0, a: 0, aaaa: 0 (pending)';
+ statusLine.innerText = 'mx: 0, a: 0, aaaa: 0';
const card = document.createElement('div');
- card.classList = 'domainCard redDomainCard';
+ card.classList = 'domainCard beigeDomainCard';
card.id = `resolve-mx-card-${domain}`;
rt_cardHolder.appendChild(card);
@@ -83,16 +102,9 @@ function initCards (list) {
}
new Promise(async function () {
- let progressCounter = 0;
- function doProgressRender () {
- const dots = '.'.repeat(progressCounter);
-
- rt_status.innerText = 'in progress ' + dots;
- progressCounter = (progressCounter + 1) % 4;
- }
+ const progressRenderTimer = setInterval(doProgressRender, 500);
doProgressRender();
- const progressRenderTimer = setInterval(doProgressRender, 500);
try {
let txt = localStorage.getItem("domains");
@@ -116,7 +128,6 @@ new Promise(async function () {
const percent = (result.counts.has_aaaa / result.counts.mx * 100).toFixed(2);
rt_status.innerText = `SUCCESS: ${result.counts.has_aaaa} of ${result.counts.mx} service providers have AAAA (${percent}%)`;
- rt_output.innerText += '\n';
rt_output.innerText += JSON.stringify(result, null, '\t');
}
catch (e) {