INNER CODE UNIT · Go
promMiddleware
kubernetes-up-and-running/kuard · pkg/app/app.go:54
func promMiddleware(h http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
m := httpsnoop.CaptureMetrics(h, w, r)
requestDuration.WithLabelValues(r.Method, r.URL.Path, strconv.Itoa(m.Code)).Observe(m.Duration.Seconds())
})
}
func loggingMiddleware(handler http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
log.Printf("%s %s %s", r.RemoteAddr, r.Method, r.URL)
handler.ServeHTTP(w, r)
})
}
type pageContext struct {
URLBase string `json:"urlBase"`
Hostname string `json:"hostname"`
Addrs []string `json:"addrs"`