middleware/debug: add (#735)

* middleware/debug: add

Add a debug "middleware" that disables the recover() and just lets
CoreDNS crash; very useful for testing.

Fixes ##563

* fix test

* Feedback: check the value of Debug
This commit is contained in:
Miek Gieben 2017-06-13 15:47:17 -07:00 committed by Pat Moroney
parent 46bf7f3106
commit 8e86fa6f23
8 changed files with 137 additions and 28 deletions

28
middleware/debug/debug.go Normal file
View file

@ -0,0 +1,28 @@
package debug
import (
"github.com/coredns/coredns/core/dnsserver"
"github.com/coredns/coredns/middleware"
"github.com/mholt/caddy"
)
func init() {
caddy.RegisterPlugin("debug", caddy.Plugin{
ServerType: "dns",
Action: setup,
})
}
func setup(c *caddy.Controller) error {
config := dnsserver.GetConfig(c)
for c.Next() {
if c.NextArg() {
return middleware.Error("debug", c.ArgErr())
}
config.Debug = true
}
return nil
}