summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/dts/lib.deno.ns.d.ts26
-rw-r--r--cli/tests/testdata/resolve_dns.ts29
-rw-r--r--cli/tests/testdata/resolve_dns.ts.out2
-rw-r--r--cli/tests/testdata/resolve_dns.zone.in4
4 files changed, 47 insertions, 14 deletions
diff --git a/cli/dts/lib.deno.ns.d.ts b/cli/dts/lib.deno.ns.d.ts
index 8ed0ab83e..3777aa56b 100644
--- a/cli/dts/lib.deno.ns.d.ts
+++ b/cli/dts/lib.deno.ns.d.ts
@@ -2955,6 +2955,7 @@ declare namespace Deno {
| "ANAME"
| "CNAME"
| "MX"
+ | "NAPTR"
| "NS"
| "PTR"
| "SOA"
@@ -2979,6 +2980,16 @@ declare namespace Deno {
exchange: string;
}
+ /** If `resolveDns` is called with "NAPTR" record type specified, it will return an array of this interface. */
+ export interface NAPTRRecord {
+ order: number;
+ preference: number;
+ flags: string;
+ services: string;
+ regexp: string;
+ replacement: string;
+ }
+
/** If `resolveDns` is called with "SOA" record type specified, it will return an array of this interface. */
export interface SOARecord {
mname: string;
@@ -3012,6 +3023,12 @@ declare namespace Deno {
export function resolveDns(
query: string,
+ recordType: "NAPTR",
+ options?: ResolveDnsOptions,
+ ): Promise<NAPTRRecord[]>;
+
+ export function resolveDns(
+ query: string,
recordType: "SOA",
options?: ResolveDnsOptions,
): Promise<SOARecord[]>;
@@ -3049,5 +3066,12 @@ declare namespace Deno {
query: string,
recordType: RecordType,
options?: ResolveDnsOptions,
- ): Promise<string[] | MXRecord[] | SOARecord[] | SRVRecord[] | string[][]>;
+ ): Promise<
+ | string[]
+ | MXRecord[]
+ | NAPTRRecord[]
+ | SOARecord[]
+ | SRVRecord[]
+ | string[][]
+ >;
}
diff --git a/cli/tests/testdata/resolve_dns.ts b/cli/tests/testdata/resolve_dns.ts
index 1e0fa08b8..317828a5e 100644
--- a/cli/tests/testdata/resolve_dns.ts
+++ b/cli/tests/testdata/resolve_dns.ts
@@ -1,17 +1,19 @@
const nameServer = { nameServer: { ipAddr: "127.0.0.1", port: 4553 } };
-const [a, aaaa, aname, cname, mx, ns, ptr, soa, srv, txt] = await Promise.all([
- Deno.resolveDns("www.example.com", "A", nameServer),
- Deno.resolveDns("www.example.com", "AAAA", nameServer),
- Deno.resolveDns("www.example.com", "ANAME", nameServer),
- Deno.resolveDns("alias.example.com", "CNAME", nameServer),
- Deno.resolveDns("example.com", "MX", nameServer),
- Deno.resolveDns("example.com", "NS", nameServer),
- Deno.resolveDns("1.2.3.4.IN-ADDR.ARPA.", "PTR", nameServer),
- Deno.resolveDns("example.com", "SOA", nameServer),
- Deno.resolveDns("_service._tcp.example.com", "SRV", nameServer),
- Deno.resolveDns("example.com", "TXT", nameServer),
-]);
+const [a, aaaa, aname, cname, mx, naptr, ns, ptr, soa, srv, txt] = await Promise
+ .all([
+ Deno.resolveDns("www.example.com", "A", nameServer),
+ Deno.resolveDns("www.example.com", "AAAA", nameServer),
+ Deno.resolveDns("www.example.com", "ANAME", nameServer),
+ Deno.resolveDns("alias.example.com", "CNAME", nameServer),
+ Deno.resolveDns("example.com", "MX", nameServer),
+ Deno.resolveDns("example.com", "NAPTR", nameServer),
+ Deno.resolveDns("example.com", "NS", nameServer),
+ Deno.resolveDns("1.2.3.4.IN-ADDR.ARPA.", "PTR", nameServer),
+ Deno.resolveDns("example.com", "SOA", nameServer),
+ Deno.resolveDns("_service._tcp.example.com", "SRV", nameServer),
+ Deno.resolveDns("example.com", "TXT", nameServer),
+ ]);
console.log("A");
console.log(JSON.stringify(a));
@@ -28,6 +30,9 @@ console.log(JSON.stringify(cname));
console.log("MX");
console.log(JSON.stringify(mx));
+console.log("NAPTR");
+console.log(JSON.stringify(naptr));
+
console.log("NS");
console.log(JSON.stringify(ns));
diff --git a/cli/tests/testdata/resolve_dns.ts.out b/cli/tests/testdata/resolve_dns.ts.out
index 2a6de755c..2f4c87c4c 100644
--- a/cli/tests/testdata/resolve_dns.ts.out
+++ b/cli/tests/testdata/resolve_dns.ts.out
@@ -8,6 +8,8 @@ CNAME
["cname.example.com."]
MX
[{"preference":10,"exchange":"mx1.com."},{"preference":20,"exchange":"mx2.com."}]
+NAPTR
+[{"order":10,"preference":0,"flags":"s","services":"SIPS+D2T","regexp":"","replacement":"_sips._tcp.example.com."},{"order":10,"preference":0,"flags":"s","services":"RELAY:turn.udp","regexp":"","replacement":"_turn._udp.example.com."}]
NS
["ns1.ns.com.","ns2.ns.com.","ns3.ns.com."]
PTR
diff --git a/cli/tests/testdata/resolve_dns.zone.in b/cli/tests/testdata/resolve_dns.zone.in
index 6b611bafa..456a8d8fb 100644
--- a/cli/tests/testdata/resolve_dns.zone.in
+++ b/cli/tests/testdata/resolve_dns.zone.in
@@ -21,4 +21,6 @@ alias CNAME cname
1.2.3.4.IN-ADDR.ARPA. PTR www
PTR alias
-_service._tcp SRV 0 100 1234 srv \ No newline at end of file
+_service._tcp SRV 0 100 1234 srv
+@ IN NAPTR 10 0 "s" "SIPS+D2T" "" _sips._tcp.example.com.
+@ IN NAPTR 10 0 "s" RELAY:turn.udp "" _turn._udp.example.com. \ No newline at end of file