mirror of
https://github.com/coredns/coredns.git
synced 2025-10-31 18:23:13 -04:00
plugin/template : add support for extended DNS errors (#5659)
* plugin/template : add support for extended DNS errors Signed-off-by: Ondřej Benkovský <ondrej.benkovsky@jamf.com>
This commit is contained in:
@@ -2,6 +2,7 @@ package template
|
||||
|
||||
import (
|
||||
"regexp"
|
||||
"strconv"
|
||||
gotmpl "text/template"
|
||||
|
||||
"github.com/coredns/caddy"
|
||||
@@ -123,6 +124,22 @@ func templateParse(c *caddy.Controller) (handler Handler, err error) {
|
||||
}
|
||||
t.rcode = rcode
|
||||
|
||||
case "ederror":
|
||||
args := c.RemainingArgs()
|
||||
if len(args) != 1 && len(args) != 2 {
|
||||
return handler, c.ArgErr()
|
||||
}
|
||||
|
||||
code, err := strconv.ParseUint(args[0], 10, 16)
|
||||
if err != nil {
|
||||
return handler, c.Errf("error parsing extended DNS error code %s, %v\n", c.Val(), err)
|
||||
}
|
||||
if len(args) == 2 {
|
||||
t.ederror = &ederror{code: uint16(code), reason: args[1]}
|
||||
} else {
|
||||
t.ederror = &ederror{code: uint16(code)}
|
||||
}
|
||||
|
||||
case "fallthrough":
|
||||
t.fall.SetZonesFromArgs(c.RemainingArgs())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user