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.
This commit is contained in:
Simone Basso 2022-01-07 19:18:33 +01:00 committed by GitHub
parent 566c6b246a
commit 423a3feacc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 86 deletions

View File

@ -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)
}

View File

@ -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{}

View File

@ -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")
}
}