aboutsummaryrefslogtreecommitdiff
path: root/mediaapi
diff options
context:
space:
mode:
authordevonh <devon.dmytro@gmail.com>2023-01-23 17:55:12 +0000
committerGitHub <noreply@github.com>2023-01-23 17:55:12 +0000
commit5b73592f5a4dddf64184fcbe33f4c1835c656480 (patch)
treeb6dac51b6be7a1e591f24881ee1bfae1b92088e9 /mediaapi
parent48fa869fa3578741d1d5775d30f24f6b097ab995 (diff)
Initial Store & Forward Implementation (#2917)
This adds store & forward relays into dendrite for p2p. A few things have changed: - new relay api serves new http endpoints for s&f federation - updated outbound federation queueing which will attempt to forward using s&f if appropriate - database entries to track s&f relays for other nodes
Diffstat (limited to 'mediaapi')
-rw-r--r--mediaapi/routing/routing.go26
1 files changed, 18 insertions, 8 deletions
diff --git a/mediaapi/routing/routing.go b/mediaapi/routing/routing.go
index 9dcfa955..50af2f88 100644
--- a/mediaapi/routing/routing.go
+++ b/mediaapi/routing/routing.go
@@ -108,13 +108,16 @@ func makeDownloadAPI(
activeRemoteRequests *types.ActiveRemoteRequests,
activeThumbnailGeneration *types.ActiveThumbnailGeneration,
) http.HandlerFunc {
- counterVec := promauto.NewCounterVec(
- prometheus.CounterOpts{
- Name: name,
- Help: "Total number of media_api requests for either thumbnails or full downloads",
- },
- []string{"code"},
- )
+ var counterVec *prometheus.CounterVec
+ if cfg.Matrix.Metrics.Enabled {
+ counterVec = promauto.NewCounterVec(
+ prometheus.CounterOpts{
+ Name: name,
+ Help: "Total number of media_api requests for either thumbnails or full downloads",
+ },
+ []string{"code"},
+ )
+ }
httpHandler := func(w http.ResponseWriter, req *http.Request) {
req = util.RequestWithLogging(req)
@@ -166,5 +169,12 @@ func makeDownloadAPI(
vars["downloadName"],
)
}
- return promhttp.InstrumentHandlerCounter(counterVec, http.HandlerFunc(httpHandler))
+
+ var handlerFunc http.HandlerFunc
+ if counterVec != nil {
+ handlerFunc = promhttp.InstrumentHandlerCounter(counterVec, http.HandlerFunc(httpHandler))
+ } else {
+ handlerFunc = http.HandlerFunc(httpHandler)
+ }
+ return handlerFunc
}