diff options
Diffstat (limited to 'middleware/proxy/dns.go')
-rw-r--r-- | middleware/proxy/dns.go | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/middleware/proxy/dns.go b/middleware/proxy/dns.go index 51633c268..4fde48e40 100644 --- a/middleware/proxy/dns.go +++ b/middleware/proxy/dns.go @@ -12,23 +12,20 @@ import ( type dnsEx struct { Timeout time.Duration - Address string // address/name of this upstream - - group *singleflight.Group + group *singleflight.Group } -func newDNSEx(address string) *dnsEx { - return &dnsEx{Address: address, group: new(singleflight.Group), Timeout: defaultTimeout * time.Second} +func newDNSEx() *dnsEx { + return &dnsEx{group: new(singleflight.Group), Timeout: defaultTimeout * time.Second} } -func (d *dnsEx) OnStartup() error { return nil } -func (d *dnsEx) OnShutdown() error { return nil } -func (d *dnsEx) SetUpstream(u Upstream) error { return nil } -func (d *dnsEx) Protocol() protocol { return dnsProto } +func (g *dnsEx) Protocol() string { return "dns" } +func (d *dnsEx) OnShutdown(p *Proxy) error { return nil } +func (d *dnsEx) OnStartup(p *Proxy) error { return nil } // Exchange implements the Exchanger interface. -func (d *dnsEx) Exchange(state request.Request) (*dns.Msg, error) { - co, err := net.DialTimeout(state.Proto(), d.Address, d.Timeout) +func (d *dnsEx) Exchange(addr string, state request.Request) (*dns.Msg, error) { + co, err := net.DialTimeout(state.Proto(), addr, d.Timeout) if err != nil { return nil, err } @@ -101,5 +98,3 @@ func exchange(m *dns.Msg, co net.Conn) (dns.Msg, error) { } return *r, err } - -const dnsProto protocol = "dns" |