aboutsummaryrefslogtreecommitdiff
path: root/middleware/errors/errors.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/errors/errors.go')
-rw-r--r--middleware/errors/errors.go3
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