MCPcopy Create free account
hub / github.com/rthalley/dnspython / canonical_name

Method canonical_name

dns/asyncresolver.py:210–229  ·  view source on GitHub ↗

Determine the canonical name of *name*. The canonical name is the name the resolver uses for queries after all CNAME and DNAME renamings have been applied. *name*, a ``dns.name.Name`` or ``str``, the query name. This method can raise any exception that ``resolve()`

(self, name: dns.name.Name | str)

Source from the content-addressed store, hash-verified

208 # pylint: disable=redefined-outer-name
209
210 async def canonical_name(self, name: dns.name.Name | str) -> dns.name.Name:
211 """Determine the canonical name of *name*.
212
213 The canonical name is the name the resolver uses for queries
214 after all CNAME and DNAME renamings have been applied.
215
216 *name*, a ``dns.name.Name`` or ``str``, the query name.
217
218 This method can raise any exception that ``resolve()`` can
219 raise, other than ``dns.resolver.NoAnswer`` and
220 ``dns.resolver.NXDOMAIN``.
221
222 Returns a ``dns.name.Name``.
223 """
224 try:
225 answer = await self.resolve(name, raise_on_no_answer=False)
226 canonical_name = answer.canonical_name
227 except dns.resolver.NXDOMAIN as e:
228 canonical_name = e.canonical_name
229 return canonical_name
230
231 async def try_ddr(self, lifetime: float = 5.0) -> None:
232 """Try to update the resolver's nameservers using Discovery of Designated

Callers 1

canonical_nameFunction · 0.45

Calls 1

resolveMethod · 0.95

Tested by

no test coverage detected