code: func (d *ResponseWriter) WriteMsg(res *dns.Msg) error {
  	// By definition we should sign anything that comes back, we should still figure out for
  	// which zone it should be.
  	state := request.Request{W: d.ResponseWriter, Req: res}
  
  	zone := plugin.Zones(d.d.zones).Matches(state.Name())
  	if zone == "" {
  		return d.ResponseWriter.WriteMsg(res)
  	}
  
  	if state.Do() {
  		res = d.d.Sign(state, zone, time.Now().UTC())
  
  		cacheSize.WithLabelValues("signature").Set(float64(d.d.cache.Len()))
  	}
  	state.SizeAndDo(res)
  
  	return d.ResponseWriter.WriteMsg(res)
  }
docs: // WriteMsg implements the dns.ResponseWriter interface.