code: func (m Middleware) Zap(next http.Handler) http.Handler {
  	fn := func(w http.ResponseWriter, r *http.Request) {
  		t := time.Now()
  		zw := &zapResponseWriter{ResponseWriter: w}
  
  		// Serve the request
  		next.ServeHTTP(zw, r)
  
  		// Write the request log line
  		writeZap(m.Log, r, t, zw.status, zw.size)
  	}
  
  	return http.HandlerFunc(fn)
  }
docs: // Zap middleware handles web request logging using Zap