middleware/heartbeat.go
func Heartbeat(endpoint string) func(http.Handler) http.Handler {
	f := func(h http.Handler) http.Handler {
		fn := func(w http.ResponseWriter, r *http.Request) {
			if r.Method == "GET" && strings.EqualFold(r.URL.Path, endpoint) {
				w.Header().Set("Content-Type", "text/plain")
				w.WriteHeader(http.StatusOK)
				w.Write([]byte("."))
				return
			}
			h.ServeHTTP(w, r)
		}
		return http.HandlerFunc(fn)
	}
	return f
}
func Heartbeat(endpoint string) func(http.Handler) http.Handler {
	f := func(h http.Handler) http.Handler {
		fn := func(w http.ResponseWriter, r *http.Request) {
			if r.Method == "GET" && strings.EqualFold(r.URL.Path, endpoint) {
				w.Header().Set("Content-Type", "text/plain")
				w.WriteHeader(http.StatusOK)
				w.Write([]byte("."))
				return
			}
			h.ServeHTTP(w, r)
		}
		return http.HandlerFunc(fn)
	}
	return f
}
func Heartbeat ( endpoint string ) func ( http . Handler ) http . Handler { f := func ( h http . Handler ) http . Handler { fn := func ( w http . ResponseWriter , r * http . Request ) { if r . Method == " " && strings . EqualFold ( r . URL . Path , endpoint ) { w . Header ( ) . Set ( " " , " " ) w . WriteHeader ( http . StatusOK ) w . Write ( [ ] byte ( " " ) ) return } h . ServeHTTP ( w , r ) } return http . HandlerFunc ( fn ) } return f }
// Heartbeat endpoint middleware useful to setting up a path like
// `/ping` that load balancers or uptime testing external services
// can make a request before hitting any routes. It's also convenient
// to place this above ACL middlewares as well.
Heartbeat endpoint middleware useful to setting up a path like / ping that load balancers or uptime testing external services can make a request before hitting any routes . It s also convenient to place this above ACL middlewares as well .