MCPcopy Index your code
hub / github.com/mitmproxy/mitmproxy / resolver

Method resolver

mitmproxy/addons/dns_resolver.py:60–78  ·  view source on GitHub ↗

Returns: The DNS resolver to use. Raises: MissingNameServers, if name servers are unknown and `dns_use_hosts_file` is disabled.

(self)

Source from the content-addressed store, hash-verified

58
59 @cache
60 def resolver(self) -> Resolver:
61 """
62 Returns:
63 The DNS resolver to use.
64 Raises:
65 MissingNameServers, if name servers are unknown and `dns_use_hosts_file` is disabled.
66 """
67 if ns := self.name_servers():
68 # We always want to use our own resolver if name server info is available.
69 return mitmproxy_rs.dns.DnsResolver(
70 name_servers=ns,
71 use_hosts_file=ctx.options.dns_use_hosts_file,
72 )
73 elif ctx.options.dns_use_hosts_file:
74 # Fallback to getaddrinfo as hickory's resolver isn't as reliable
75 # as we would like it to be (https://github.com/mitmproxy/mitmproxy/issues/7064).
76 return GetaddrinfoFallbackResolver()
77 else:
78 raise MissingNameServers()
79
80 async def dns_request(self, flow: dns.DNSFlow) -> None:
81 if self._should_resolve(flow):

Callers 1

resolveMethod · 0.95

Calls 3

name_serversMethod · 0.95
MissingNameServersClass · 0.85

Tested by

no test coverage detected