1package sessionresolver 2 3import "github.com/ooni/probe-cli/v3/internal/engine/netx" 4 5// dnsclientmaker makes a new resolver. 6type dnsclientmaker interface { 7 // Make makes a new resolver. 8 Make(config netx.Config, URL string) (childResolver, error) 9} 10 11// clientmaker returns a valid dnsclientmaker 12func (r *Resolver) clientmaker() dnsclientmaker { 13 if r.dnsClientMaker != nil { 14 return r.dnsClientMaker 15 } 16 return &defaultDNSClientMaker{} 17} 18 19// defaultDNSClientMaker is the default dnsclientmaker 20type defaultDNSClientMaker struct{} 21 22// Make implements dnsclientmaker.Make. 23func (*defaultDNSClientMaker) Make(config netx.Config, URL string) (childResolver, error) { 24 return netx.NewDNSClient(config, URL) 25} 26