Versions in this module Expand all Collapse all v1 v1.0.1 Jun 14, 2020 v1.0.0 Jun 13, 2020 Changes in this version + func Name(resolver Resolver) string + func TestDOHUpstream(fn func(request *dns.Msg) (response *dns.Msg), ...) config.Upstream + func TestUDPUpstream(fn func(request *dns.Msg) (response *dns.Msg)) config.Upstream + type BlockingResolver struct + func (r *BlockingResolver) Configuration() (result []string) + func (r *BlockingResolver) Resolve(request *Request) (*Response, error) + type CachingResolver struct + func (r *CachingResolver) Configuration() (result []string) + func (r *CachingResolver) Resolve(request *Request) (response *Response, err error) + type ChainedResolver interface + GetNext func() Resolver + Next func(n Resolver) + func NewBlockingResolver(router *chi.Mux, cfg config.BlockingConfig) ChainedResolver + func NewCachingResolver(cfg config.CachingConfig) ChainedResolver + func NewClientNamesResolver(cfg config.ClientLookupConfig) ChainedResolver + func NewConditionalUpstreamResolver(cfg config.ConditionalUpstreamConfig) ChainedResolver + func NewCustomDNSResolver(cfg config.CustomDNSConfig) ChainedResolver + func NewMetricsResolver(cfg config.PrometheusConfig) ChainedResolver + func NewQueryLoggingResolver(cfg config.QueryLogConfig) ChainedResolver + func NewStatsResolver() ChainedResolver + type ClientNamesResolver struct + func (r *ClientNamesResolver) Configuration() (result []string) + func (r *ClientNamesResolver) FlushCache() + func (r *ClientNamesResolver) Resolve(request *Request) (*Response, error) + type ConditionalUpstreamResolver struct + func (r *ConditionalUpstreamResolver) Configuration() (result []string) + func (r *ConditionalUpstreamResolver) Resolve(request *Request) (*Response, error) + type CustomDNSResolver struct + func (r *CustomDNSResolver) Configuration() (result []string) + func (r *CustomDNSResolver) Resolve(request *Request) (*Response, error) + type MetricsResolver struct + func (m *MetricsResolver) Configuration() (result []string) + func (m *MetricsResolver) Resolve(request *Request) (*Response, error) + type NextResolver struct + func (r *NextResolver) GetNext() Resolver + func (r *NextResolver) Next(n Resolver) + type ParallelBestResolver struct + func (r *ParallelBestResolver) Configuration() (result []string) + func (r *ParallelBestResolver) Resolve(request *Request) (*Response, error) + type QueryLoggingResolver struct + func (r *QueryLoggingResolver) Configuration() (result []string) + func (r *QueryLoggingResolver) Resolve(request *Request) (*Response, error) + type Request struct + ClientIP net.IP + ClientNames []string + Log *logrus.Entry + Req *dns.Msg + RequestTS time.Time + type Resolver interface + Configuration func() []string + Resolve func(req *Request) (*Response, error) + func Chain(resolvers ...Resolver) Resolver + func NewParallelBestResolver(cfg config.UpstreamConfig) Resolver + func NewUpstreamResolver(upstream config.Upstream) Resolver + type Response struct + RType ResponseType + Reason string + Res *dns.Msg + type ResponseType int + const BLOCKED + const CACHED + const CONDITIONAL + const CUSTOMDNS + const RESOLVED + func (r ResponseType) String() string + type StatsResolver struct + func (r *StatsResolver) Configuration() (result []string) + func (r *StatsResolver) Resolve(request *Request) (*Response, error) + type UpstreamResolver struct + func (r *UpstreamResolver) Configuration() (result []string) + func (r *UpstreamResolver) Resolve(request *Request) (response *Response, err error) + func (r UpstreamResolver) String() string