return dns.rrset.from_text(qname, ttl, dns.rdataclass.IN, rtype, rdata)
-class RootNSHandler(QnameQtypeHandler, StaticResponseHandler):
+class RootNsHandler(QnameQtypeHandler, StaticResponseHandler):
qnames = ["."]
qtypes = [dns.rdatatype.NS]
answer = [rrset(".", dns.rdatatype.NS, "a.root-servers.nil.")]
additional = [rrset("a.root-servers.nil.", dns.rdatatype.A, "10.53.0.3")]
-class CookieHandler(DomainHandler):
+class ExampleCookieHandler(DomainHandler):
domains = ["example."]
def _get_cookie(self, qctx: QueryContext) -> dns.edns.CookieOption | None:
yield DnsResponseSend(qctx.response)
-def resend_server() -> AsyncDnsServer:
+def main() -> None:
server = AsyncDnsServer(default_aa=True, default_rcode=dns.rcode.NOERROR)
server.install_response_handlers(
- RootNSHandler(),
- CookieHandler(),
+ RootNsHandler(),
+ ExampleCookieHandler(),
)
- return server
-
-
-def main() -> None:
- resend_server().run()
+ server.run()
if __name__ == "__main__":