Version: v0.0.0-...-7f72c11 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2017 License: Apache-2.0 Imports: 2 Imported by: 0



Package dnsrecorder allows you to record a DNS response when it is send to the client.



This section is empty.


This section is empty.


This section is empty.


type Recorder

type Recorder struct {
	Rcode int
	Len   int
	Msg   *dns.Msg
	Start time.Time

Recorder is a type of ResponseWriter that captures the rcode code written to it and also the size of the message written in the response. A rcode code does not have to be written, however, in which case 0 must be assumed. It is best to have the constructor initialize this type with that default status code.

func New

func New(w dns.ResponseWriter) *Recorder

New makes and returns a new Recorder, which captures the DNS rcode from the ResponseWriter and also the length of the response message written through it.

func (*Recorder) Hijack

func (r *Recorder) Hijack()

Hijack implements dns.Hijacker. It simply wraps the underlying ResponseWriter's Hijack method if there is one, or returns an error.

func (*Recorder) Write

func (r *Recorder) Write(buf []byte) (int, error)

Write is a wrapper that records the length of the message that gets written.

func (*Recorder) WriteMsg

func (r *Recorder) WriteMsg(res *dns.Msg) error

WriteMsg records the status code and calls the underlying ResponseWriter's WriteMsg method.

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL