]> source.dussan.org Git - gitea.git/commitdiff
Move metrics from macaron to chi (#13601)
authorLunny Xiao <xiaolunwen@gmail.com>
Tue, 17 Nov 2020 20:50:06 +0000 (04:50 +0800)
committerGitHub <noreply@github.com>
Tue, 17 Nov 2020 20:50:06 +0000 (15:50 -0500)
routers/metrics.go
routers/routes/chi.go
routers/routes/macaron.go

index f2381c274586d30292c66e1b1b504a7823cc2613..db2fb8de443868d3982954f57b6e7c7371bbabca 100644 (file)
@@ -6,29 +6,29 @@ package routers
 
 import (
        "crypto/subtle"
+       "net/http"
 
-       "code.gitea.io/gitea/modules/context"
        "code.gitea.io/gitea/modules/setting"
 
        "github.com/prometheus/client_golang/prometheus/promhttp"
 )
 
 // Metrics validate auth token and render prometheus metrics
-func Metrics(ctx *context.Context) {
+func Metrics(resp http.ResponseWriter, req *http.Request) {
        if setting.Metrics.Token == "" {
-               promhttp.Handler().ServeHTTP(ctx.Resp, ctx.Req.Request)
+               promhttp.Handler().ServeHTTP(resp, req)
                return
        }
-       header := ctx.Req.Header.Get("Authorization")
+       header := req.Header.Get("Authorization")
        if header == "" {
-               ctx.Error(401)
+               http.Error(resp, "", 401)
                return
        }
        got := []byte(header)
        want := []byte("Bearer " + setting.Metrics.Token)
        if subtle.ConstantTimeCompare(got, want) != 1 {
-               ctx.Error(401)
+               http.Error(resp, "", 401)
                return
        }
-       promhttp.Handler().ServeHTTP(ctx.Resp, ctx.Req.Request)
+       promhttp.Handler().ServeHTTP(resp, req)
 }
index 1165040778d02d03ecba0ea869a39dbfe33d6718..4575f1ea93be23b1eff54313ff33c0bbee13fdb8 100644 (file)
@@ -17,12 +17,15 @@ import (
        "time"
 
        "code.gitea.io/gitea/modules/log"
+       "code.gitea.io/gitea/modules/metrics"
        "code.gitea.io/gitea/modules/public"
        "code.gitea.io/gitea/modules/setting"
        "code.gitea.io/gitea/modules/storage"
+       "code.gitea.io/gitea/routers"
 
        "github.com/go-chi/chi"
        "github.com/go-chi/chi/middleware"
+       "github.com/prometheus/client_golang/prometheus"
 )
 
 type routerLoggerOptions struct {
@@ -251,6 +254,18 @@ func NormalRoutes() http.Handler {
                })
        }
 
+       r.Get("/apple-touch-icon.png", func(w http.ResponseWriter, req *http.Request) {
+               http.Redirect(w, req, path.Join(setting.StaticURLPrefix, "img/apple-touch-icon.png"), 301)
+       })
+
+       // prometheus metrics endpoint
+       if setting.Metrics.Enabled {
+               c := metrics.NewCollector()
+               prometheus.MustRegister(c)
+
+               r.Get("/metrics", routers.Metrics)
+       }
+
        return r
 }
 
index 7178ead679a68d8ae9381db5c84fd8336d79993c..1f0b21a74d36bebafb51d7210e394ed1f8a72254 100644 (file)
@@ -6,14 +6,12 @@ package routes
 
 import (
        "encoding/gob"
-       "path"
 
        "code.gitea.io/gitea/models"
        "code.gitea.io/gitea/modules/auth"
        "code.gitea.io/gitea/modules/context"
        "code.gitea.io/gitea/modules/lfs"
        "code.gitea.io/gitea/modules/log"
-       "code.gitea.io/gitea/modules/metrics"
        "code.gitea.io/gitea/modules/options"
        "code.gitea.io/gitea/modules/setting"
        "code.gitea.io/gitea/modules/templates"
@@ -43,7 +41,6 @@ import (
        "gitea.com/macaron/macaron"
        "gitea.com/macaron/session"
        "gitea.com/macaron/toolbox"
-       "github.com/prometheus/client_golang/prometheus"
        "github.com/tstranex/u2f"
 )
 
@@ -978,23 +975,11 @@ func RegisterMacaronRoutes(m *macaron.Macaron) {
                private.RegisterRoutes(m)
        })
 
-       m.Get("/apple-touch-icon.png", func(ctx *context.Context) {
-               ctx.Redirect(path.Join(setting.StaticURLPrefix, "img/apple-touch-icon.png"), 301)
-       })
-
        // Progressive Web App
        m.Get("/manifest.json", templates.JSONRenderer(), func(ctx *context.Context) {
                ctx.HTML(200, "pwa/manifest_json")
        })
 
-       // prometheus metrics endpoint
-       if setting.Metrics.Enabled {
-               c := metrics.NewCollector()
-               prometheus.MustRegister(c)
-
-               m.Get("/metrics", routers.Metrics)
-       }
-
        // Not found handler.
        m.NotFound(routers.NotFound)
 }