(url)
| 3 | import { parseTarget } from './_common/parse-target.js'; |
| 4 | |
| 5 | const 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 | |
| 22 | export const handler = middleware(dnsHandler); |
| 23 | export default handler; |
nothing calls this directly
no test coverage detected