diff options
author | 2016-04-09 16:17:53 +0100 | |
---|---|---|
committer | 2016-04-09 16:17:53 +0100 | |
commit | ad221f4b2afa0cf89810cd9c3b4e953913d602fc (patch) | |
tree | 23bf7561336d29096eb24d821265235f84ac4222 /middleware/errors/errors.go | |
parent | db3d689a8ac2bec199e5643394ffa779341acde0 (diff) | |
download | coredns-ad221f4b2afa0cf89810cd9c3b4e953913d602fc.tar.gz coredns-ad221f4b2afa0cf89810cd9c3b4e953913d602fc.tar.zst coredns-ad221f4b2afa0cf89810cd9c3b4e953913d602fc.zip |
correct EDNS responses (#96)
Tests updated as well and all the middleware. And Prometheus renamed to
metrics (directive is still prometheus).
Diffstat (limited to 'middleware/errors/errors.go')
-rw-r--r-- | middleware/errors/errors.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/middleware/errors/errors.go b/middleware/errors/errors.go index dbef5770a..0639aadbf 100644 --- a/middleware/errors/errors.go +++ b/middleware/errors/errors.go @@ -37,6 +37,7 @@ func (h ErrorHandler) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns answer := debugMsg(rcode, r) txt, _ := dns.NewRR(". IN 0 TXT " + errMsg) answer.Answer = append(answer.Answer, txt) + state.SizeAndDo(answer) w.WriteMsg(answer) return 0, err } @@ -52,6 +53,7 @@ func (h ErrorHandler) recovery(ctx context.Context, w dns.ResponseWriter, r *dns return } + state := middleware.State{W: w, Req: r} // Obtain source of panic // From: https://gist.github.com/swdunlop/9629168 var name, file string // function name, file name @@ -86,6 +88,7 @@ func (h ErrorHandler) recovery(ctx context.Context, w dns.ResponseWriter, r *dns // add stack buf in TXT, limited to 255 chars for now. txt, _ := dns.NewRR(". IN 0 TXT " + string(stack[:255])) answer.Answer = append(answer.Answer, txt) + state.SizeAndDo(answer) w.WriteMsg(answer) } else { // Currently we don't use the function name, since file:line is more conventional |