diff options
Diffstat (limited to 'core/setup/proxy.go')
-rw-r--r-- | core/setup/proxy.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/core/setup/proxy.go b/core/setup/proxy.go new file mode 100644 index 000000000..6753d07ad --- /dev/null +++ b/core/setup/proxy.go @@ -0,0 +1,17 @@ +package setup + +import ( + "github.com/miekg/coredns/middleware" + "github.com/miekg/coredns/middleware/proxy" +) + +// Proxy configures a new Proxy middleware instance. +func Proxy(c *Controller) (middleware.Middleware, error) { + upstreams, err := proxy.NewStaticUpstreams(c.Dispenser) + if err != nil { + return nil, err + } + return func(next middleware.Handler) middleware.Handler { + return proxy.Proxy{Next: next, Client: proxy.Clients(), Upstreams: upstreams} + }, nil +} |