Andrew Boyson / web

Dependents:   oldheating gps motorhome heating

Revision:
143:cc2e148cb96a
Parent:
133:98c6bf14bc37
Child:
144:7106252b7abf
--- a/base/net/web-net-script.inc	Wed Dec 23 09:57:17 2020 +0000
+++ b/base/net/web-net-script.inc	Sat Dec 26 19:38:40 2020 +0000
@@ -3,6 +3,7 @@
 "\n"
 "let mac = '';\n"
 "let tcp = '';\n"
+"let dns = '';\n"
 "\n"
 "function parseTcpLine(line)\n"
 "{\n"
@@ -19,9 +20,9 @@
 "    \n"
 "    switch (state)\n"
 "    {\n"
-"        case 1: tcp += \"  Syn\";                           break;\n"
-"        case 2: tcp += \"  Est\";                           break;\n"
-"        case 3: tcp += \" Wait\";                           break;\n"
+"        case 1:  tcp += \"  Syn\";                           break;\n"
+"        case 2:  tcp += \"  Est\";                           break;\n"
+"        case 3:  tcp += \" Wait\";                           break;\n"
 "        default: tcp += state.toString().padStart(5, ' '); break;\n"
 "    }\n"
 "    \n"
@@ -45,6 +46,22 @@
 "    tcp = \"State Idle Protocol ARI Port-Loc Port-Rem  Rcvd  Sent\\n\";\n"
 "    text.split('\\n').forEach(parseTcpLine);\n"
 "}\n"
+"function parseDnsLine(line)\n"
+"{\n"
+"    if (line.length == 0) return;\n"
+"    let fields = line.split('\\t');\n"
+"    \n"
+"    dns += parseInt(fields[0], 16).toString().padStart(2, ' ');\n"
+"    let minutes  = parseInt(fields[1], 16) / 1000 / 60;\n"
+"    dns += Math.floor(minutes).toString().padStart(4, ' ');\n"
+"    dns += ' ';\n"
+"    dns += Net.makeIp6(fields[2]).padEnd(40, ' ');\n"
+"    dns += ' ';\n"
+"    dns += fields[3];\n"
+"    dns += ' ';\n"
+"    dns += fields[4];\n"
+"    dns += '\\r\\n';\n"
+"}\n"
 "function parseGenLines(text)\n"
 "{\n"
 "    let lines = text.split('\\n');\n"
@@ -55,6 +72,7 @@
 "    let topics = Ajax.response.split('\\f');\n"
 "    parseGenLines(topics[0]);\n"
 "    parseTcpLines(topics[1]);\n"
+"    parseDnsLines(topics[2]);\n"
 "}\n"
 "function display()\n"
 "{\n"
@@ -62,6 +80,7 @@
 "\n"
 "    elem = Ajax.getElementOrNull('ajax-tcp'         ); if (elem) elem.textContent = tcp;\n"
 "    elem = Ajax.getElementOrNull('ajax-mac'         ); if (elem) elem.textContent = mac;\n"
+"    elem = Ajax.getElementOrNull('ajax-dns'         ); if (elem) elem.textContent = dns;\n"
 "}\n"
 "\n"
 "Ajax.server     = '/net-ajax';\n"