Chore: split enhanced mode instance (#936)
Co-authored-by: Dreamacro <305009791@qq.com>
This commit is contained in:
@ -27,16 +27,22 @@ func (s *Server) ServeDNS(w D.ResponseWriter, r *D.Msg) {
|
||||
return
|
||||
}
|
||||
|
||||
s.handler(w, r)
|
||||
msg, err := s.handler(r)
|
||||
if err != nil {
|
||||
D.HandleFailed(w, r)
|
||||
return
|
||||
}
|
||||
|
||||
w.WriteMsg(msg)
|
||||
}
|
||||
|
||||
func (s *Server) setHandler(handler handler) {
|
||||
s.handler = handler
|
||||
}
|
||||
|
||||
func ReCreateServer(addr string, resolver *Resolver) error {
|
||||
func ReCreateServer(addr string, resolver *Resolver, mapper *ResolverEnhancer) error {
|
||||
if addr == address && resolver != nil {
|
||||
handler := newHandler(resolver)
|
||||
handler := newHandler(resolver, mapper)
|
||||
server.setHandler(handler)
|
||||
return nil
|
||||
}
|
||||
@ -68,7 +74,7 @@ func ReCreateServer(addr string, resolver *Resolver) error {
|
||||
}
|
||||
|
||||
address = addr
|
||||
handler := newHandler(resolver)
|
||||
handler := newHandler(resolver, mapper)
|
||||
server = &Server{handler: handler}
|
||||
server.Server = &D.Server{Addr: addr, PacketConn: p, Handler: server}
|
||||
|
||||
|
Reference in New Issue
Block a user