code: func NoCache(h http.Handler) http.Handler {
  	fn := func(w http.ResponseWriter, r *http.Request) {
  
  		// Delete any ETag headers that may have been set
  		for _, v := range etagHeaders {
  			if r.Header.Get(v) != "" {
  				r.Header.Del(v)
  			}
  		}
  
  		// Set our NoCache headers
  		for k, v := range noCacheHeaders {
  			w.Header().Set(k, v)
  		}
  
  		h.ServeHTTP(w, r)
  	}
  
  	return http.HandlerFunc(fn)
  }
docs: // NoCache is a simple piece of middleware that sets a number of HTTP headers to prevent
  // a router (or subrouter) from being cached by an upstream proxy and/or client.
  //
  // As per http://wiki.nginx.org/HttpProxyModule - NoCache sets:
  //      Expires: Thu, 01 Jan 1970 00:00:00 UTC
  //      Cache-Control: no-cache, private, max-age=0
  //      X-Accel-Expires: 0
  //      Pragma: no-cache (for HTTP/1.0 proxies/clients)