Add field keywords to rewrite middleware (#497)

* Require Field for rewrite rules

* review feedback changes

* fix ut

* fix typo, add warning message
This commit is contained in:
Bob Wasniak 2017-02-07 16:53:16 -05:00 committed by Miek Gieben
parent b8e75509cc
commit fa1c90a479
8 changed files with 124 additions and 76 deletions

View file

@ -1,7 +1,7 @@
package rewrite
import (
"strings"
"log"
"github.com/miekg/coredns/core/dnsserver"
"github.com/miekg/coredns/middleware"
@ -108,8 +108,12 @@ func rewriteParse(c *caddy.Controller) ([]Rule, error) {
// the only unhandled case is 2 and above
default:
rule = NewSimpleRule(args[0], strings.Join(args[1:], " "))
simpleRules = append(simpleRules, rule)
if _, ok := Fields[args[0]]; ok {
rule = Fields[args[0]].New(args[1:]...)
simpleRules = append(simpleRules, rule)
} else {
log.Printf("[WARN] %s is not a valid field, ignore %s", args[0], args)
}
}
}