Files
gluetun/internal/restrictednet/settings.go
T
Quentin McGaw dd07205b85 add tests
2026-06-09 12:47:13 +00:00

37 lines
823 B
Go

package restrictednet
import (
"errors"
"net/http"
"github.com/qdm12/dns/v2/pkg/provider"
)
type Settings struct {
DefaultInterface string
IPv6Supported *bool
Firewall Firewall
UpstreamResolvers []provider.Provider
BaseTransport *http.Transport
}
func (s *Settings) setDefaults() {
if s.BaseTransport == nil {
s.BaseTransport = http.DefaultTransport.(*http.Transport) //nolint:forcetypeassert
}
}
func (s *Settings) validate() error {
switch {
case s.DefaultInterface == "":
return errors.New("default interface is not set")
case s.IPv6Supported == nil:
return errors.New("IPv6 support field is not set")
case s.Firewall == nil:
return errors.New("firewall is not set")
case len(s.UpstreamResolvers) == 0:
return errors.New("no upstream resolvers provided")
}
return nil
}