edgeport - v1.0.6
    Preparing search index...

    Interface DnsSession

    A live DNS session over a single TCP (or TLS) connection.

    Obtain one from connect. A background pump reads length-prefixed responses and correlates them to pending queries by id, so several query calls can be in flight at once (RFC 7766 pipelining). It is an AsyncDisposable, so await using closes it cleanly.

    1.0.4

    interface DnsSession {
        hostname: string;
        "[asyncDispose]"(): PromiseLike<void>;
        close(): Promise<void>;
        query(
            name: string,
            type: "A" | "NS" | "CNAME" | "PTR" | "AAAA",
        ): Promise<string[]>;
        query(name: string, type: "TXT"): Promise<string[][]>;
        query(name: string, type: "MX"): Promise<MxRecord[]>;
        query(name: string, type: "SRV"): Promise<SrvRecord[]>;
        query(name: string, type: "CAA"): Promise<CaaRecord[]>;
        query(name: string, type: "SOA"): Promise<SoaRecord | undefined>;
        query(name: string, type: "NAPTR"): Promise<NaptrRecord[]>;
        query(name: string, type: "SSHFP"): Promise<SshfpRecord[]>;
        query(name: string, type: "DS"): Promise<DsRecord[]>;
        query(name: string, type: "DNSKEY"): Promise<DnskeyRecord[]>;
        query(name: string, type: "TLSA"): Promise<TlsaRecord[]>;
        query(name: string, type: "SVCB" | "HTTPS"): Promise<SvcbRecord[]>;
        query(name: string, type: "RRSIG"): Promise<RrsigRecord[]>;
        query<
            T extends
                | "A"
                | "NS"
                | "CNAME"
                | "SOA"
                | "PTR"
                | "MX"
                | "TXT"
                | "AAAA"
                | "SRV"
                | "NAPTR"
                | "OPT"
                | "DS"
                | "SSHFP"
                | "RRSIG"
                | "NSEC"
                | "DNSKEY"
                | "TLSA"
                | "SVCB"
                | "HTTPS"
                | "CAA"
                | "ANY",
        >(
            name: string,
            opts: QueryOptions & { type: T },
        ): Promise<ResolveResult<T>>;
        query(name: string, opts?: QueryOptions): Promise<ResourceRecord[]>;
        query(name: string, type: number): Promise<ResourceRecord[]>;
        query(raw: RawQuery): Promise<DnsResponse>;
    }

    Hierarchy

    • AsyncDisposable
      • DnsSession
    Index
    hostname: string

    The resolver host this session is connected to.

    • Returns PromiseLike<void>

    • Closes the connection and rejects any in-flight queries.

      Returns Promise<void>

      Resolves once the socket is closed.

    • Resolves A, AAAA, NS, CNAME, or PTR to a string array.

      Parameters

      • name: string
      • type: "A" | "NS" | "CNAME" | "PTR" | "AAAA"

      Returns Promise<string[]>

    • Resolves TXT to an array of records, each an array of its character-strings.

      Parameters

      • name: string
      • type: "TXT"

      Returns Promise<string[][]>

    • Resolves MX records.

      Parameters

      • name: string
      • type: "MX"

      Returns Promise<MxRecord[]>

    • Resolves SRV records.

      Parameters

      • name: string
      • type: "SRV"

      Returns Promise<SrvRecord[]>

    • Resolves CAA records.

      Parameters

      • name: string
      • type: "CAA"

      Returns Promise<CaaRecord[]>

    • Resolves the SOA record (or undefined when absent).

      Parameters

      • name: string
      • type: "SOA"

      Returns Promise<SoaRecord | undefined>

    • Resolves NAPTR records.

      Parameters

      • name: string
      • type: "NAPTR"

      Returns Promise<NaptrRecord[]>

    • Resolves SSHFP records.

      Parameters

      • name: string
      • type: "SSHFP"

      Returns Promise<SshfpRecord[]>

    • Resolves DS records.

      Parameters

      • name: string
      • type: "DS"

      Returns Promise<DsRecord[]>

    • Resolves DNSKEY records.

      Parameters

      • name: string
      • type: "DNSKEY"

      Returns Promise<DnskeyRecord[]>

    • Resolves TLSA records.

      Parameters

      • name: string
      • type: "TLSA"

      Returns Promise<TlsaRecord[]>

    • Resolves HTTPS or SVCB service-binding records.

      Parameters

      • name: string
      • type: "SVCB" | "HTTPS"

      Returns Promise<SvcbRecord[]>

    • Resolves RRSIG records.

      Parameters

      • name: string
      • type: "RRSIG"

      Returns Promise<RrsigRecord[]>

    • Resolves the record TYPE named in opts.type, with per-query options.

      Type Parameters

      • T extends
            | "A"
            | "NS"
            | "CNAME"
            | "SOA"
            | "PTR"
            | "MX"
            | "TXT"
            | "AAAA"
            | "SRV"
            | "NAPTR"
            | "OPT"
            | "DS"
            | "SSHFP"
            | "RRSIG"
            | "NSEC"
            | "DNSKEY"
            | "TLSA"
            | "SVCB"
            | "HTTPS"
            | "CAA"
            | "ANY"

      Parameters

      Returns Promise<ResolveResult<T>>

    • Resolves with per-query options (numeric or omitted TYPE yields raw records).

      Parameters

      Returns Promise<ResourceRecord[]>

    • Resolves a numeric record TYPE to its raw records.

      Parameters

      • name: string
      • type: number

      Returns Promise<ResourceRecord[]>

    • Runs a raw query and returns the full structured message (answer + authority + additional).

      Parameters

      Returns Promise<DnsResponse>