Go to the latest version of this document.

# ``twisted`.`names`.`resolve`.`ResolverChain``

class documentation

`class ResolverChain(common.ResolverBase): (source)`

Constructor: `ResolverChain(resolvers)`

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

View In Hierarchy

Lookup an address using multiple `IResolver`s

Method | `__init__` | No summary
Method | `lookupAllRecords` | Perform an ALL_RECORD lookup.
Instance Variable | `resolvers` | Undocumented
Method | `_lookup` | Build a `dns.Query` for the given parameters and dispatch it to each `IResolver` in `self.resolvers` until an answer or `error.AuthoritativeDomainError` is returned.

Inherited from `ResolverBase`:

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 | `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
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, resolvers): (source)
overrides `twisted.names.common.ResolverBase.__init__`

Parameters
resolvers:`list` | A `list` of `IResolver` providers.

def lookupAllRecords(self, name, timeout=None): (source)
from `twisted.internet.interfaces.IResolver`
overrides `twisted.names.common.ResolverBase.lookupAllRecords`

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`.

resolvers = (source)

Undocumented

def _lookup(self, name, cls, type, timeout): (source)
overrides `twisted.names.common.ResolverBase._lookup`

Build a `dns.Query` for the given parameters and dispatch it to each `IResolver` in `self.resolvers` until an answer or `error.AuthoritativeDomainError` is returned.

Parameters
name:`str` | DNS name to resolve.
cls:`int` | DNS record class.
type:`int` | DNS record type.
timeout:Sequence of `int` | Number of seconds after which to reissue the query. When the last timeout expires, the query is considered failed.

Returns
`Deferred` | 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`.