aboutsummaryrefslogtreecommitdiff
path: root/middleware/rewrite/reverter.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/rewrite/reverter.go')
-rw-r--r--middleware/rewrite/reverter.go39
1 files changed, 0 insertions, 39 deletions
diff --git a/middleware/rewrite/reverter.go b/middleware/rewrite/reverter.go
deleted file mode 100644
index 400fb5fff..000000000
--- a/middleware/rewrite/reverter.go
+++ /dev/null
@@ -1,39 +0,0 @@
-package rewrite
-
-import "github.com/miekg/dns"
-
-// ResponseReverter reverses the operations done on the question section of a packet.
-// This is need because the client will otherwise disregards the response, i.e.
-// dig will complain with ';; Question section mismatch: got miek.nl/HINFO/IN'
-type ResponseReverter struct {
- dns.ResponseWriter
- original dns.Question
-}
-
-// NewResponseReverter returns a pointer to a new ResponseReverter.
-func NewResponseReverter(w dns.ResponseWriter, r *dns.Msg) *ResponseReverter {
- return &ResponseReverter{
- ResponseWriter: w,
- original: r.Question[0],
- }
-}
-
-// WriteMsg records the status code and calls the
-// underlying ResponseWriter's WriteMsg method.
-func (r *ResponseReverter) WriteMsg(res *dns.Msg) error {
- res.Question[0] = r.original
- return r.ResponseWriter.WriteMsg(res)
-}
-
-// Write is a wrapper that records the size of the message that gets written.
-func (r *ResponseReverter) Write(buf []byte) (int, error) {
- n, err := r.ResponseWriter.Write(buf)
- return n, err
-}
-
-// Hijack implements dns.Hijacker. It simply wraps the underlying
-// ResponseWriter's Hijack method if there is one, or returns an error.
-func (r *ResponseReverter) Hijack() {
- r.ResponseWriter.Hijack()
- return
-}