From c3839e830cfa5a8cd3ef4bdd3e5db7c0c0ee01dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= Date: Thu, 21 May 2026 11:52:56 +0200 Subject: [PATCH] Turn _get_cookie() into a method Since the _get_cookie() function is only used by the CookieHandler class, make the former a method of the latter to keep related logic close in the source code. --- bin/tests/system/resend_loop/ans3/ans.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/bin/tests/system/resend_loop/ans3/ans.py b/bin/tests/system/resend_loop/ans3/ans.py index 9dcdec83b5..37ed3482f0 100644 --- a/bin/tests/system/resend_loop/ans3/ans.py +++ b/bin/tests/system/resend_loop/ans3/ans.py @@ -28,16 +28,6 @@ from isctest.asyncserver import ( ) -def _get_cookie(qctx: QueryContext) -> dns.edns.CookieOption | None: - for o in qctx.query.options: - if o.otype == dns.edns.OptionType.COOKIE: - cookie = o - cookie.server = b"\x11\x22\x33\x44\x55\x66\x77\x88" - return cookie - - return None - - def rrset( qname: dns.name.Name | str, rtype: dns.rdatatype.RdataType, @@ -64,10 +54,19 @@ class ExampleNSHandler(QnameQtypeHandler, StaticResponseHandler): class CookieHandler(DomainHandler): domains = ["example."] + def _get_cookie(self, qctx: QueryContext) -> dns.edns.CookieOption | None: + for o in qctx.query.options: + if o.otype == dns.edns.OptionType.COOKIE: + cookie = o + cookie.server = b"\x11\x22\x33\x44\x55\x66\x77\x88" + return cookie + + return None + async def get_responses( self, qctx: QueryContext ) -> AsyncGenerator[DnsResponseSend, None]: - if cookie := _get_cookie(qctx): + if cookie := self._get_cookie(qctx): # If there is a client cookie, mock BADCOOKIE to trigger # the resend loop logic. qctx.response.use_edns(options=[cookie])