diff options
Diffstat (limited to 'internal/web/web.go')
-rw-r--r-- | internal/web/web.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/internal/web/web.go b/internal/web/web.go index 86e74d6f8..6a21a754b 100644 --- a/internal/web/web.go +++ b/internal/web/web.go @@ -110,6 +110,19 @@ func (m *Module) Route(r *router.Router, mi ...gin.HandlerFunc) { r.AttachHandler(http.MethodGet, domainBlockListPath, m.domainBlockListGETHandler) r.AttachHandler(http.MethodGet, tagsPath, m.tagGETHandler) + // Prometheus metrics export endpoint + if config.GetMetricsEnabled() { + metricsGroup := r.AttachGroup(metricsPath) + metricsGroup.Use(mi...) + // Attach basic auth if enabled + if config.GetMetricsAuthEnabled() { + metricsGroup.Use(gin.BasicAuth(gin.Accounts{ + config.GetMetricsAuthUsername(): config.GetMetricsAuthPassword(), + })) + } + metricsGroup.Handle(http.MethodGet, "", m.metricsGETHandler) + } + // Attach redirects from old endpoints to current ones for backwards compatibility r.AttachHandler(http.MethodGet, "/auth/edit", func(c *gin.Context) { c.Redirect(http.StatusMovedPermanently, userPanelPath) }) r.AttachHandler(http.MethodGet, "/user", func(c *gin.Context) { c.Redirect(http.StatusMovedPermanently, userPanelPath) }) |