aboutsummaryrefslogtreecommitdiff
path: root/core/setup/proxy.go
diff options
context:
space:
mode:
Diffstat (limited to 'core/setup/proxy.go')
-rw-r--r--core/setup/proxy.go17
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
+}