Added ResponseWriter.LocalAddr support
This commit is contained in:
parent
b691354313
commit
12f91af6ed
11
server.go
11
server.go
|
@ -21,6 +21,8 @@ type Handler interface {
|
|||
// A ResponseWriter interface is used by an DNS handler to
|
||||
// construct an DNS response.
|
||||
type ResponseWriter interface {
|
||||
// LocalAddr returns the net.Addr of the server
|
||||
LocalAddr() net.Addr
|
||||
// RemoteAddr returns the net.Addr of the client that sent the current request.
|
||||
RemoteAddr() net.Addr
|
||||
// WriteMsg writes a reply back to the client.
|
||||
|
@ -483,6 +485,15 @@ func (w *response) Write(m []byte) (int, error) {
|
|||
panic("not reached")
|
||||
}
|
||||
|
||||
// LocalAddr implements the ResponseWriter.LocalAddr method.
|
||||
func (w *response) LocalAddr() net.Addr {
|
||||
if w.tcp != nil {
|
||||
return w.tcp.LocalAddr()
|
||||
} else {
|
||||
return w.udp.LocalAddr()
|
||||
}
|
||||
}
|
||||
|
||||
// RemoteAddr implements the ResponseWriter.RemoteAddr method.
|
||||
func (w *response) RemoteAddr() net.Addr { return w.remoteAddr }
|
||||
|
||||
|
|
Loading…
Reference in New Issue