# ``twisted`.`names`.`common`.`ResolverBase``

class documentation

`class ResolverBase: (source)`

Known subclasses: `twisted.names.authority.FileAuthority`, `twisted.names.cache.CacheResolver`, `twisted.names.client.Resolver`, `twisted.names.hosts.Resolver`, `twisted.names.resolve.ResolverChain`, `twisted.names.root.Resolver`

Implements interfaces: `twisted.internet.interfaces.IResolver`

View In Hierarchy

`ResolverBase` is a base class for implementations of `interfaces.IResolver` which deals with a lot of the boilerplate of implementing all of the lookup methods.

Method | `__init__` | Undocumented
Method | `exceptionForCode` | Convert a response code (one of the possible values of `dns.Message.rCode` to an exception instance representing it.
Method | `getHostByName` | Resolve the domain name `name` into an IP address.
Method | `lookupAddress` | Perform an A record lookup.
Method | `lookupAddress6` | Perform an A6 record lookup.
Method | `lookupAFSDatabase` | Perform an AFSDB record lookup.
Method | `lookupAllRecords` | Perform an ALL_RECORD lookup.
Method | `lookupAuthority` | Perform an SOA record lookup.
Method | `lookupCanonicalName` | Perform a CNAME record lookup.
Method | `lookupHostInfo` | Perform a HINFO record lookup.
Method | `lookupIPV6Address` | Perform an AAAA record lookup.
Method | `lookupMailBox` | Perform an MB record lookup.
Method | `lookupMailboxInfo` | Perform an MINFO record lookup.
Method | `lookupMailExchange` | Perform an MX record lookup.
Method | `lookupMailGroup` | Perform an MG record lookup.
Method | `lookupMailRename` | Perform an MR record lookup.
Method | `lookupNameservers` | Perform an NS record lookup.
Method | `lookupNamingAuthorityPointer` | Perform a NAPTR record lookup.
Method | `lookupNull` | Perform a NULL record lookup.
Method | `lookupPointer` | Perform a PTR record lookup.
Method | `lookupResponsibility` | Perform an RP record lookup.
Method | `lookupSenderPolicy` | Perform a SPF record lookup.
Method | `lookupService` | Perform an SRV record lookup.
Method | `lookupText` | Perform a TXT record lookup.
Method | `lookupWellKnownServices` | Perform a WKS record lookup.
Method | `lookupZone` | Perform an AXFR record lookup.
Method | `query` | Dispatch `query` to the method which can handle its type.
Instance Variable | `typeToMethod` | Undocumented
Method | `_cbRecords` | Undocumented
Method | `_lookup` | Undocumented
Class Variable | `_errormap` | A `dict` mapping DNS protocol failure response codes to exception classes which will be used to represent those failures.
Class Variable | `_log` | Undocumented

def __init__(self): (source)
overridden in `twisted.names.authority.FileAuthority`, `twisted.names.cache.CacheResolver`, `twisted.names.client.Resolver`, `twisted.names.hosts.Resolver`, `twisted.names.resolve.ResolverChain`, `twisted.names.root.Resolver`

Undocumented

def exceptionForCode(self, responseCode): (source)
Convert a response code (one of the possible values of `dns.Message.rCode` to an exception instance representing it.

Present Since
10.0

def getHostByName(self, name, timeout=None, effort=10): (source)
from `twisted.internet.interfaces.IResolverSimple`
Resolve the domain name `name` into an IP address.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
effort | Undocumented
Returns

The callback of the Deferred that is returned will be passed a string that represents the IP address of the specified name, or the errback will be called if the lookup times out. If multiple types of address records are associated with the name, A6 records will be returned in preference to AAAA records, which will be returned in preference to A records. If there are multiple records of the type to be returned, one will be selected at random.

Raises
`twisted.internet.defer.TimeoutError` | Raised (asynchronously) if the name cannot be resolved within the specified timeout period.

def lookupAddress(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
overridden in `twisted.names.hosts.Resolver`
Perform an A record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupAddress6(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform an A6 record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupAFSDatabase(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform an AFSDB record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupAllRecords(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
overridden in `twisted.names.cache.CacheResolver`, `twisted.names.resolve.ResolverChain`
Perform an ALL_RECORD lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupAuthority(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform an SOA record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupCanonicalName(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform a CNAME record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupHostInfo(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform a HINFO record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupIPV6Address(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
overridden in `twisted.names.hosts.Resolver`
Perform an AAAA record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupMailBox(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform an MB record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupMailboxInfo(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform an MINFO record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupMailExchange(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform an MX record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupMailGroup(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform an MG record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupMailRename(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform an MR record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupNameservers(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform an NS record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupNamingAuthorityPointer(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform a NAPTR record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupNull(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform a NULL record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupPointer(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform a PTR record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupResponsibility(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform an RP record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupSenderPolicy(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform a SPF record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupService(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform an SRV record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupText(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform a TXT record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupWellKnownServices(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Perform a WKS record lookup.

Parameters
name | DNS name to resolve.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def lookupZone(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
overridden in `twisted.names.authority.FileAuthority`, `twisted.names.client.Resolver`

Perform an AXFR record lookup.

NB This is quite different from other DNS requests. See http://cr.yp.to/djbdns/axfr-notes.html for more information.

NB Unlike other `lookup*` methods, the timeout here is not a list of ints, it is a single int.

Parameters
name | DNS name to resolve.
timeout | When this timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second and third elements are always empty. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

def query(self, query, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
Dispatch `query` to the method which can handle its type.

Parameters
query | The DNS query being issued, to which a response is to be generated.
timeout | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.
Returns
A `Deferred` which fires with a three-tuple of lists of `twisted.names.dns.RRHeader` instances. The first element of the tuple gives answers. The second element of the tuple gives authorities. The third element of the tuple gives additional information. The `Deferred` may instead fail with one of the exceptions defined in `twisted.names.error` or with `NotImplementedError`.

typeToMethod: `dict` = (source)

Undocumented

def _cbRecords(self, records, name, effort): (source)

Undocumented

def _lookup(self, name, cls, type, timeout): (source)
overridden in `twisted.names.authority.FileAuthority`, `twisted.names.cache.CacheResolver`, `twisted.names.client.Resolver`, `twisted.names.resolve.ResolverChain`, `twisted.names.root.Resolver`

Undocumented

_errormap = (source)
A `dict` mapping DNS protocol failure response codes to exception classes which will be used to represent those failures.
_log = (source)

Undocumented