From 423a3feacc06de1e82bbfa0e101971ea36f77ce2 Mon Sep 17 00:00:00 2001 From: Simone Basso Date: Fri, 7 Jan 2022 19:18:33 +0100 Subject: [PATCH] cleanup(netx): remove unused ChainResolver (#657) This is another cleanup point mentioned by https://github.com/ooni/probe/issues/1956. While there, fix a bunch of comments in jafar that were incorrectly referring to the netx package name. --- internal/cmd/jafar/uncensored/uncensored.go | 12 ++--- internal/engine/netx/resolver/chain.go | 51 --------------------- internal/engine/netx/resolver/chain_test.go | 29 ------------ 3 files changed, 6 insertions(+), 86 deletions(-) delete mode 100644 internal/engine/netx/resolver/chain.go delete mode 100644 internal/engine/netx/resolver/chain_test.go diff --git a/internal/cmd/jafar/uncensored/uncensored.go b/internal/cmd/jafar/uncensored/uncensored.go index c16cd9d..2c96072 100644 --- a/internal/cmd/jafar/uncensored/uncensored.go +++ b/internal/cmd/jafar/uncensored/uncensored.go @@ -52,12 +52,12 @@ var DefaultClient = Must(NewClient("")) var _ model.Resolver = DefaultClient -// Address implements netx.Resolver.Address +// Address implements Resolver.Address func (c *Client) Address() string { return c.dnsClient.Address() } -// LookupHost implements netx.Resolver.LookupHost +// LookupHost implements Resolver.LookupHost func (c *Client) LookupHost(ctx context.Context, domain string) ([]string, error) { return c.dnsClient.LookupHost(ctx, domain) } @@ -67,27 +67,27 @@ func (c *Client) LookupHTTPS(ctx context.Context, domain string) (*model.HTTPSSv return nil, errors.New("not implemented") } -// Network implements netx.Resolver.Network +// Network implements Resolver.Network func (c *Client) Network() string { return c.dnsClient.Network() } var _ model.Dialer = DefaultClient -// DialContext implements netx.Dialer.DialContext +// DialContext implements Dialer.DialContext func (c *Client) DialContext(ctx context.Context, network, address string) (net.Conn, error) { return c.dialer.DialContext(ctx, network, address) } var _ model.HTTPTransport = DefaultClient -// CloseIdleConnections implement netx.HTTPRoundTripper.CloseIdleConnections +// CloseIdleConnections implement HTTPRoundTripper.CloseIdleConnections func (c *Client) CloseIdleConnections() { c.dnsClient.CloseIdleConnections() c.httpTransport.CloseIdleConnections() } -// RoundTrip implement netx.HTTPRoundTripper.RoundTrip +// RoundTrip implement HTTPRoundTripper.RoundTrip func (c *Client) RoundTrip(req *http.Request) (*http.Response, error) { return c.httpTransport.RoundTrip(req) } diff --git a/internal/engine/netx/resolver/chain.go b/internal/engine/netx/resolver/chain.go deleted file mode 100644 index d963782..0000000 --- a/internal/engine/netx/resolver/chain.go +++ /dev/null @@ -1,51 +0,0 @@ -package resolver - -import ( - "context" - - "github.com/ooni/probe-cli/v3/internal/model" -) - -// ChainResolver is a chain resolver. The primary resolver is used first and, if that -// fails, we then attempt with the secondary resolver. -type ChainResolver struct { - Primary model.Resolver - Secondary model.Resolver -} - -// LookupHost implements Resolver.LookupHost -func (c ChainResolver) LookupHost(ctx context.Context, hostname string) ([]string, error) { - addrs, err := c.Primary.LookupHost(ctx, hostname) - if err != nil { - addrs, err = c.Secondary.LookupHost(ctx, hostname) - } - return addrs, err -} - -// Network implements Resolver.Network -func (c ChainResolver) Network() string { - return "chain" -} - -// Address implements Resolver.Address -func (c ChainResolver) Address() string { - return "" -} - -// CloseIdleConnections implements Resolver.CloseIdleConnections. -func (c ChainResolver) CloseIdleConnections() { - c.Primary.CloseIdleConnections() - c.Secondary.CloseIdleConnections() -} - -// LookupHTTPS implements Resolver.LookupHTTPS -func (c ChainResolver) LookupHTTPS( - ctx context.Context, domain string) (*model.HTTPSSvc, error) { - https, err := c.Primary.LookupHTTPS(ctx, domain) - if err != nil { - https, err = c.Secondary.LookupHTTPS(ctx, domain) - } - return https, err -} - -var _ model.Resolver = ChainResolver{} diff --git a/internal/engine/netx/resolver/chain_test.go b/internal/engine/netx/resolver/chain_test.go deleted file mode 100644 index bb9c8c2..0000000 --- a/internal/engine/netx/resolver/chain_test.go +++ /dev/null @@ -1,29 +0,0 @@ -package resolver_test - -import ( - "context" - "testing" - - "github.com/ooni/probe-cli/v3/internal/engine/netx/resolver" - "github.com/ooni/probe-cli/v3/internal/netxlite" -) - -func TestChainLookupHost(t *testing.T) { - r := resolver.ChainResolver{ - Primary: resolver.NewFakeResolverThatFails(), - Secondary: &netxlite.ResolverSystem{}, - } - if r.Address() != "" { - t.Fatal("invalid address") - } - if r.Network() != "chain" { - t.Fatal("invalid network") - } - addrs, err := r.LookupHost(context.Background(), "www.google.com") - if err != nil { - t.Fatal(err) - } - if addrs == nil { - t.Fatal("expect non nil return value here") - } -}