This commit is contained in:
Miek Gieben
2016-03-23 23:20:50 +00:00
11 changed files with 151 additions and 124 deletions

View File

@@ -53,13 +53,13 @@ var directiveOrder = []directive{
// Directives that inject handlers (middleware)
{"prometheus", setup.Prometheus},
{"rewrite", setup.Rewrite},
{"file", setup.File},
{"loadbalance", setup.Loadbalance},
{"log", setup.Log},
{"errors", setup.Errors},
{"etcd", setup.Etcd},
{"file", setup.File},
{"reflect", setup.Reflect},
{"proxy", setup.Proxy},
}

19
core/setup/loadbalance.go Normal file
View File

@@ -0,0 +1,19 @@
package setup
import (
"github.com/miekg/coredns/middleware"
"github.com/miekg/coredns/middleware/loadbalance"
)
// Root sets up the root file path of the server.
func Loadbalance(c *Controller) (middleware.Middleware, error) {
for c.Next() {
// and choosing the correct balancer
// TODO(miek): block and option parsing
}
return func(next middleware.Handler) middleware.Handler {
return loadbalance.RoundRobin{Next: next}
}, nil
return nil, nil
}

View File

@@ -1,28 +0,0 @@
package setup
import (
"github.com/miekg/coredns/middleware"
"github.com/miekg/coredns/middleware/reflect"
)
// Reflect sets up the reflect middleware.
func Reflect(c *Controller) (middleware.Middleware, error) {
if err := reflectParse(c); err != nil {
return nil, err
}
return func(next middleware.Handler) middleware.Handler {
return reflect.Reflect{Next: next}
}, nil
}
func reflectParse(c *Controller) error {
for c.Next() {
if c.Val() == "reflect" {
if c.NextArg() {
return c.ArgErr()
}
}
}
return nil
}