diff options
author | 2023-11-23 19:10:51 +0100 | |
---|---|---|
committer | 2023-11-23 19:10:51 +0100 | |
commit | 2b9cf56f565517b947b0eb71d2086764e9edf2be (patch) | |
tree | 4e4d1e50001f93e64a624caeae6a7200ae317716 /internal/web | |
parent | [documentation] add poll and poll vote details to gotosocial federating doc (... (diff) | |
download | gotosocial-2b9cf56f565517b947b0eb71d2086764e9edf2be.tar.xz |
[chore/bugfix] Fix double gzip on prometheus endpoint (#2383)
* [chore] Move "/metrics" into separate API module
* use our own gzip middleware for prom
Diffstat (limited to 'internal/web')
-rw-r--r-- | internal/web/metrics.go | 33 | ||||
-rw-r--r-- | internal/web/web.go | 13 |
2 files changed, 0 insertions, 46 deletions
diff --git a/internal/web/metrics.go b/internal/web/metrics.go deleted file mode 100644 index eb5530290..000000000 --- a/internal/web/metrics.go +++ /dev/null @@ -1,33 +0,0 @@ -// GoToSocial -// Copyright (C) GoToSocial Authors admin@gotosocial.org -// SPDX-License-Identifier: AGPL-3.0-or-later -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. - -package web - -import ( - "github.com/gin-gonic/gin" - "github.com/prometheus/client_golang/prometheus/promhttp" -) - -const ( - metricsPath = "/metrics" - metricsUser = "metrics" -) - -func (m *Module) metricsGETHandler(c *gin.Context) { - h := promhttp.Handler() - h.ServeHTTP(c.Writer, c.Request) -} diff --git a/internal/web/web.go b/internal/web/web.go index 6a21a754b..86e74d6f8 100644 --- a/internal/web/web.go +++ b/internal/web/web.go @@ -110,19 +110,6 @@ 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) }) |