refused handler added
This commit is contained in:
parent
16be743198
commit
0241a65caa
21
server.go
21
server.go
|
@ -78,20 +78,20 @@ func (f HandlerFunc) ServeDNS(w ResponseWriter, r *Msg) {
|
||||||
|
|
||||||
// Helper handlers
|
// Helper handlers
|
||||||
|
|
||||||
// Error replies to the request with the specified error msg TODO(mg)
|
func Refused(w ResponseWriter, r *Msg) {
|
||||||
/*
|
m := new(Msg)
|
||||||
func Error(w ResponseWriter) { }
|
m.SetReply(r)
|
||||||
|
m.MsgHdr.Rcode = RcodeRefused
|
||||||
func NotFound(w ResponseWriter, r *Msg) {
|
buf, _ := m.Pack()
|
||||||
|
w.Write(buf)
|
||||||
func NotFoundHandler() Handler { return HandlerFunc(NotFound) }
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
|
// RefusedHandler return a REFUSED answer
|
||||||
|
func RefusedHandler() Handler { return HandlerFunc(Refused) }
|
||||||
|
|
||||||
func ListenAndServe(addr string, network string, handler Handler) os.Error {
|
func ListenAndServe(addr string, network string, handler Handler) os.Error {
|
||||||
server := &Server{Addr: addr, Network: network, Handler: handler}
|
server := &Server{Addr: addr, Network: network, Handler: handler}
|
||||||
return server.ListenAndServe()
|
return server.ListenAndServe()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func zoneMatch(pattern, zone string) bool {
|
func zoneMatch(pattern, zone string) bool {
|
||||||
|
@ -135,8 +135,7 @@ func (mux *ServeMux) HandleFunc(pattern string, handler func(ResponseWriter, *Ms
|
||||||
func (mux *ServeMux) ServeDNS(w ResponseWriter, request *Msg) {
|
func (mux *ServeMux) ServeDNS(w ResponseWriter, request *Msg) {
|
||||||
h := mux.match(request.Question[0].Name)
|
h := mux.match(request.Question[0].Name)
|
||||||
if h == nil {
|
if h == nil {
|
||||||
panic("No hander found")
|
h = RefusedHandler()
|
||||||
// h = NotFoundHandler()
|
|
||||||
}
|
}
|
||||||
h.ServeDNS(w, request)
|
h.ServeDNS(w, request)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue