MCPcopy
hub / github.com/lissy93/web-check / dnsHandler

Function dnsHandler

api/dns.js:5–20  ·  view source on GitHub ↗
(url)

Source from the content-addressed store, hash-verified

3import { parseTarget } from './_common/parse-target.js';
4
5const dnsHandler = async (url) => {
6 const { hostname } = parseTarget(url);
7 const safe = (fn) => fn.catch(() => []);
8 const [a, aaaa, mx, txt, ns, cname, soa, srv, ptr] = await Promise.all([
9 safe(dns.resolve4(hostname)),
10 safe(dns.resolve6(hostname)),
11 safe(dns.resolveMx(hostname)),
12 safe(dns.resolveTxt(hostname)),
13 safe(dns.resolveNs(hostname)),
14 safe(dns.resolveCname(hostname)),
15 dns.resolveSoa(hostname).catch(() => null),
16 safe(dns.resolveSrv(hostname)),
17 safe(dns.resolvePtr(hostname)),
18 ]);
19 return { A: a, AAAA: aaaa, MX: mx, TXT: txt, NS: ns, CNAME: cname, SOA: soa, SRV: srv, PTR: ptr };
20};
21
22export const handler = middleware(dnsHandler);
23export default handler;

Callers

nothing calls this directly

Calls 2

parseTargetFunction · 0.90
safeFunction · 0.85

Tested by

no test coverage detected