From d8714e64e400ef873c2adc4d929a07d7890727b9 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Thu, 14 Sep 2017 09:36:06 +0100 Subject: Remove the word middleware (#1067) * Rename middleware to plugin first pass; mostly used 'sed', few spots where I manually changed text. This still builds a coredns binary. * fmt error * Rename AddMiddleware to AddPlugin * Readd AddMiddleware to remain backwards compat --- plugin/proxy/exchanger.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 plugin/proxy/exchanger.go (limited to 'plugin/proxy/exchanger.go') diff --git a/plugin/proxy/exchanger.go b/plugin/proxy/exchanger.go new file mode 100644 index 000000000..b98a687e7 --- /dev/null +++ b/plugin/proxy/exchanger.go @@ -0,0 +1,22 @@ +package proxy + +import ( + "context" + + "github.com/coredns/coredns/request" + "github.com/miekg/dns" +) + +// Exchanger is an interface that specifies a type implementing a DNS resolver that +// can use whatever transport it likes. +type Exchanger interface { + Exchange(ctx context.Context, addr string, state request.Request) (*dns.Msg, error) + Protocol() string + + // Transport returns the only transport protocol used by this Exchanger or "". + // If the return value is "", Exchange must use `state.Proto()`. + Transport() string + + OnStartup(*Proxy) error + OnShutdown(*Proxy) error +} -- cgit v1.2.3