Only serve alerts page from /alerts or /.

This fixes https://github.com/prometheus/prometheus/issues/607
This commit is contained in:
Julius Volz 2015-03-23 19:39:31 +01:00
parent e3427a89cf
commit 3380692f71
1 changed files with 10 additions and 1 deletions

View File

@ -46,7 +46,16 @@ func (w WebService) ServeForever() error {
http.Error(w, "", 404)
}))
http.Handle("/", prometheus.InstrumentHandler("index", w.AlertsHandler))
http.HandleFunc("/", prometheus.InstrumentHandlerFunc("index", func(rw http.ResponseWriter, req *http.Request) {
// The "/" pattern matches everything, so we need to check
// that we're at the root here.
if req.URL.Path != "/" {
http.NotFound(rw, req)
return
}
w.AlertsHandler.ServeHTTP(rw, req)
}))
http.Handle("/alerts", prometheus.InstrumentHandler("alerts", w.AlertsHandler))
http.Handle("/silences", prometheus.InstrumentHandler("silences", w.SilencesHandler))
http.Handle("/status", prometheus.InstrumentHandler("status", w.StatusHandler))