cleanup: remove unnecessary legacy interfaces (#656)
This diff addresses another point of https://github.com/ooni/probe/issues/1956: > - [ ] observe that we're still using a bunch of private interfaces for common interfaces such as the `Dialer`, so we can get rid of these private interfaces and always use the ones in `model`, which allows us to remove a bunch of legacy wrappers Additional cleanups may still be possible. The more I cleanup, the more I see there's extra legacy code we can dispose of (which seems good?).
This commit is contained in:
parent
1c057d322d
commit
566c6b246a
76 changed files with 326 additions and 734 deletions
|
|
@ -2,13 +2,15 @@ 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 Resolver
|
||||
Secondary Resolver
|
||||
Primary model.Resolver
|
||||
Secondary model.Resolver
|
||||
}
|
||||
|
||||
// LookupHost implements Resolver.LookupHost
|
||||
|
|
@ -30,4 +32,20 @@ func (c ChainResolver) Address() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
var _ Resolver = ChainResolver{}
|
||||
// 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{}
|
||||
|
|
|
|||
Loading…
Reference in a new issue