Resolver.constructor constructor | Node.js dns/promises module | Bun
BuildDocsReferenceGuidesBlogDiscord/
node:dns/promises/
Resolver/
constructorCoconstructor
Search the reference...
/
BuildDocsReferenceGuidesBlogDiscord/
node:dns/promises/
Resolver/
constructorCoconstructor
constructor
dns.promises.Resolver.constructorNot implemented in Bun
constructor Resolver(options?:
ResolverOptions):
Resolver;Referenced typesinterface
ResolverOptionsmaxTimeout?: number
The max retry timeout, in milliseconds.
timeout?: number
Query timeout in milliseconds, or -1 to use the default timeout.
tries?: number
The number of tries the resolver will try contacting each name server before giving up.
{
// ...
});
// Alternatively, the same code can be written using async-await style.
(async function() {
const addresses = await resolver.resolve4('example.org');
})();
```
The following methods from the `dnsPromises` API are available:
* `resolver.getServers()`
* `resolver.resolve()`
* `resolver.resolve4()`
* `resolver.resolve6()`
* `resolver.resolveAny()`
* `resolver.resolveCaa()`
* `resolver.resolveCname()`
* `resolver.resolveMx()`
* `resolver.resolveNaptr()`
* `resolver.resolveNs()`
* `resolver.resolvePtr()`
* `resolver.resolveSoa()`
* `resolver.resolveSrv()`
* `resolver.resolveTxt()`
* `resolver.reverse()`
* `resolver.setServers()`" data-algolia-static="false" data-algolia-merged="false" data-type="Class">class
ResolverAn independent resolver for DNS requests.
Creating a new resolver uses the default server settings. Setting the servers used for a resolver using resolver.setServers() does not affect other resolvers:
import { promises } from 'node:dns';
const resolver = new promises.Resolver();
resolver.setServers(['4.4.4.4']);
// This request will use the server at 4.4.4.4, independent of global settings.
resolver.resolve4('example.org').then((addresses) => {
// ...
});
// Alternatively, the same code can be written using async-await style.
(async function() {
const addresses = await resolver.resolve4('example.org');
})();
The following methods from the dnsPromises API are available:
resolver.getServers()resolver.resolve()resolver.resolve4()resolver.resolve6()resolver.resolveAny()resolver.resolveCaa()resolver.resolveCname()resolver.resolveMx()resolver.resolveNaptr()resolver.resolveNs()resolver.resolvePtr()resolver.resolveSoa()resolver.resolveSrv()resolver.resolveTxt()resolver.reverse()resolver.setServers()getServers: () => string[]
resolve: {(hostname: string) => Promisestring[]>; (hostname: string, rrtype: 'A' | 'AAAA' | 'CNAME' | 'NS' | 'PTR') => Promisestring[]>; (hostname: string, rrtype: 'ANY') => Promise
AnyRecord[]>; (hostname: string, rrtype: 'CAA') => Promise
CaaRecord[]>; (hostname: string, rrtype: 'MX') => Promise
MxRecord[]>; (hostname: string, rrtype: 'NAPTR') => Promise
NaptrRecord[]>; (hostname: string, rrtype: 'SOA') => Promise
SoaRecord>; (hostname: string, rrtype: 'SRV') => Promise
SrvRecord[]>; (hostname: string, rrtype: 'TLSA') => Promise
TlsaRecord[]>; (hostname: string, rrtype: 'TXT') => Promisestring[][]>; (hostname: string, rrtype: string) => Promisestring[] |
SoaRecord |
AnyRecord[] |
CaaRecord[] |
MxRecord[] |
NaptrRecord[] |
SrvRecord[] |
TlsaRecord[] | string[][]>}
resolve4: {(hostname: string) => Promisestring[]>; (hostname: string, options:
ResolveWithTtlOptions) => Promise
RecordWithTtl[]>; (hostname: string, options:
ResolveOptions) => Promisestring[] |
RecordWithTtl[]>}
resolve6: {(hostname: string) => Promisestring[]>; (hostname: string, options:
ResolveWithTtlOptions) => Promise
RecordWithTtl[]>; (hostname: string, options:
ResolveOptions) => Promisestring[] |
RecordWithTtl[]>}
resolveAny: (hostname: string) => Promise
AnyRecord[]>
resolveCaa: (hostname: string) => Promise
CaaRecord[]>
resolveCname: (hostname: string) => Promisestring[]>
resolveMx: (hostname: string) => Promise
MxRecord[]>
resolveNaptr: (hostname: string) => Promise
NaptrRecord[]>
resolveNs: (hostname: string) => Promisestring[]>
resolvePtr: (hostname: string) => Promisestring[]>
resolveSoa: (hostname: string) => Promise
SoaRecord>
resolveSrv: (hostname: string) => Promise
SrvRecord[]>
resolveTlsa: (hostname: string) => Promise
TlsaRecord[]>
resolveTxt: (hostname: string) => Promisestring[][]>
reverse: (ip: string) => Promisestring[]>
setServers: (servers: readonly string[]) => void
cancel(): void;
Cancel all outstanding DNS queries made by this resolver. The corresponding callbacks will be called with an error with code ECANCELLED.
setLocalAddress(ipv4?: string,ipv6?: string): void;
The resolver instance will send its requests from the specified IP address. This allows programs to specify outbound interfaces when used on multi-homed systems.
If a v4 or v6 address is not specified, it is set to the default and the operating system will choose a local address automatically.
The resolver will use the v4 local address when making requests to IPv4 DNS servers, and the v6 local address when making requests to IPv6 DNS servers. The rrtype of resolution requests has no impact on the local address used.
@param ipv4
A string representation of an IPv4 address.
@param ipv6
A string representation of an IPv6 address.
Resources
ReferenceDocsGuidesDiscordMerch StoreGitHubBlog Toolkit
RuntimePackage managerTest runnerBundlerPackage runnerProject
Bun 1.0Bun 1.1Bun 1.2Bun 1.3RoadmapContributingLicenseBaked with ❤️ in San Francisco
We're hiring →