* When route cannot be found on chi, go to macaron * Stick chi version to 1.5.0 * Follow router log setting
		
			
				
	
	
		
			26 lines
		
	
	
	
		
			731 B
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			731 B
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
package middleware
 | 
						|
 | 
						|
import (
 | 
						|
	"net/http"
 | 
						|
	"strings"
 | 
						|
)
 | 
						|
 | 
						|
// 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.
 | 
						|
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
 | 
						|
}
 |