From 28107bd307e07b4911631e53bcfd03df304956f0 Mon Sep 17 00:00:00 2001 From: kaichao Date: Wed, 29 Nov 2023 18:16:28 +0800 Subject: [PATCH] chore: allow custom resolver for dns discovery (#930) --- waku/v2/dnsdisc/enr.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/waku/v2/dnsdisc/enr.go b/waku/v2/dnsdisc/enr.go index 9fa8f0e7..6c6c8442 100644 --- a/waku/v2/dnsdisc/enr.go +++ b/waku/v2/dnsdisc/enr.go @@ -15,6 +15,7 @@ import ( type dnsDiscoveryParameters struct { nameserver string + resolver dnsdisc.Resolver } type DNSDiscoveryOption func(*dnsDiscoveryParameters) @@ -26,6 +27,12 @@ func WithNameserver(nameserver string) DNSDiscoveryOption { } } +func WithResolver(resolver dnsdisc.Resolver) DNSDiscoveryOption { + return func(params *dnsDiscoveryParameters) { + params.resolver = resolver + } +} + type DiscoveredNode struct { PeerID peer.ID PeerInfo peer.AddrInfo @@ -52,8 +59,12 @@ func RetrieveNodes(ctx context.Context, url string, opts ...DNSDiscoveryOption) opt(params) } + if params.resolver == nil { + params.resolver = GetResolver(ctx, params.nameserver) + } + client := dnsdisc.NewClient(dnsdisc.Config{ - Resolver: GetResolver(ctx, params.nameserver), + Resolver: params.resolver, }) tree, err := client.SyncTree(url)