| 1234567891011121314151617181920212223242526272829 |
- package app
- import (
- "net/http"
- "github.com/flamego/flamego"
- "gogs.io/gogs/internal/authutil"
- "gogs.io/gogs/internal/conf"
- )
- func MetricsFilter() flamego.Handler {
- return func(w http.ResponseWriter, r *http.Request) {
- if !conf.Prometheus.Enabled {
- w.WriteHeader(http.StatusNotFound)
- return
- }
- if !conf.Prometheus.EnableBasicAuth {
- return
- }
- username, password := authutil.DecodeBasic(r.Header)
- if username != conf.Prometheus.BasicAuthUsername || password != conf.Prometheus.BasicAuthPassword {
- w.WriteHeader(http.StatusForbidden)
- return
- }
- }
- }
|