package reputation import ( "context" "net" "net/http" "net/netip" ) // SetTransport has l's fetches go through transport instead of the // network. func (l *Lists) SetTransport(transport http.RoundTripper) { l.httpClient.Transport = transport l.crowdSecClient.Transport = transport } // SetTransport has a's checks go through transport instead of the // network. func (a *AbuseIPDB) SetTransport(transport http.RoundTripper) { a.httpClient.Transport = transport } // SetDial has d's queries go through dial instead of the network. func (d *DNSBL) SetDial( dial func(ctx context.Context, network, address string) (net.Conn, error), ) { d.resolver = &net.Resolver{PreferGo: true, Dial: dial} } // LookUp asks zone about addr at once, as a query in the background does, // and returns whether zone lists addr. func (d *DNSBL) LookUp(zone string, addr netip.Addr) (bool, error) { return d.lookUp(context.Background(), query{zone: zone, client: addr}) }