12345678910111213141516171819202122232425262728293031323334 |
- // Copyright 2020 The Gogs Authors. All rights reserved.
- // Use of this source code is governed by a MIT-style
- // license that can be found in the LICENSE file.
- package app
- import (
- "net/http"
- "gopkg.in/macaron.v1"
- "gogs.io/gogs/internal/authutil"
- "gogs.io/gogs/internal/conf"
- )
- func MetricsFilter() macaron.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
- }
- }
- }
|