mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-16 10:33:11 -06:00
Remove BaseDendrite from media API
This commit is contained in:
parent
75ba4ec770
commit
f485c35a28
|
|
@ -15,9 +15,11 @@
|
|||
package mediaapi
|
||||
|
||||
import (
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/matrix-org/dendrite/internal/sqlutil"
|
||||
"github.com/matrix-org/dendrite/mediaapi/routing"
|
||||
"github.com/matrix-org/dendrite/mediaapi/storage"
|
||||
"github.com/matrix-org/dendrite/setup/base"
|
||||
"github.com/matrix-org/dendrite/setup/config"
|
||||
userapi "github.com/matrix-org/dendrite/userapi/api"
|
||||
"github.com/matrix-org/gomatrixserverlib"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
|
@ -25,19 +27,18 @@ import (
|
|||
|
||||
// AddPublicRoutes sets up and registers HTTP handlers for the MediaAPI component.
|
||||
func AddPublicRoutes(
|
||||
base *base.BaseDendrite,
|
||||
mediaRouter *mux.Router,
|
||||
cm sqlutil.Connections,
|
||||
cfg *config.Dendrite,
|
||||
userAPI userapi.MediaUserAPI,
|
||||
client *gomatrixserverlib.Client,
|
||||
) {
|
||||
cfg := &base.Cfg.MediaAPI
|
||||
rateCfg := &base.Cfg.ClientAPI.RateLimiting
|
||||
|
||||
mediaDB, err := storage.NewMediaAPIDatasource(base.ConnectionManager, &cfg.Database)
|
||||
mediaDB, err := storage.NewMediaAPIDatasource(cm, &cfg.MediaAPI.Database)
|
||||
if err != nil {
|
||||
logrus.WithError(err).Panicf("failed to connect to media db")
|
||||
}
|
||||
|
||||
routing.Setup(
|
||||
base.Routers.Media, cfg, rateCfg, mediaDB, userAPI, client,
|
||||
mediaRouter, cfg, mediaDB, userAPI, client,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,13 +45,12 @@ type configResponse struct {
|
|||
// nolint: gocyclo
|
||||
func Setup(
|
||||
publicAPIMux *mux.Router,
|
||||
cfg *config.MediaAPI,
|
||||
rateLimit *config.RateLimiting,
|
||||
cfg *config.Dendrite,
|
||||
db storage.Database,
|
||||
userAPI userapi.MediaUserAPI,
|
||||
client *gomatrixserverlib.Client,
|
||||
) {
|
||||
rateLimits := httputil.NewRateLimits(rateLimit)
|
||||
rateLimits := httputil.NewRateLimits(&cfg.ClientAPI.RateLimiting)
|
||||
|
||||
v3mux := publicAPIMux.PathPrefix("/{apiversion:(?:r0|v1|v3)}/").Subrouter()
|
||||
|
||||
|
|
@ -65,7 +64,7 @@ func Setup(
|
|||
if r := rateLimits.Limit(req, dev); r != nil {
|
||||
return *r
|
||||
}
|
||||
return Upload(req, cfg, dev, db, activeThumbnailGeneration)
|
||||
return Upload(req, &cfg.MediaAPI, dev, db, activeThumbnailGeneration)
|
||||
},
|
||||
)
|
||||
|
||||
|
|
@ -73,8 +72,8 @@ func Setup(
|
|||
if r := rateLimits.Limit(req, device); r != nil {
|
||||
return *r
|
||||
}
|
||||
respondSize := &cfg.MaxFileSizeBytes
|
||||
if cfg.MaxFileSizeBytes == 0 {
|
||||
respondSize := &cfg.MediaAPI.MaxFileSizeBytes
|
||||
if cfg.MediaAPI.MaxFileSizeBytes == 0 {
|
||||
respondSize = nil
|
||||
}
|
||||
return util.JSONResponse{
|
||||
|
|
@ -90,12 +89,12 @@ func Setup(
|
|||
MXCToResult: map[string]*types.RemoteRequestResult{},
|
||||
}
|
||||
|
||||
downloadHandler := makeDownloadAPI("download", cfg, rateLimits, db, client, activeRemoteRequests, activeThumbnailGeneration)
|
||||
downloadHandler := makeDownloadAPI("download", &cfg.MediaAPI, rateLimits, db, client, activeRemoteRequests, activeThumbnailGeneration)
|
||||
v3mux.Handle("/download/{serverName}/{mediaId}", downloadHandler).Methods(http.MethodGet, http.MethodOptions)
|
||||
v3mux.Handle("/download/{serverName}/{mediaId}/{downloadName}", downloadHandler).Methods(http.MethodGet, http.MethodOptions)
|
||||
|
||||
v3mux.Handle("/thumbnail/{serverName}/{mediaId}",
|
||||
makeDownloadAPI("thumbnail", cfg, rateLimits, db, client, activeRemoteRequests, activeThumbnailGeneration),
|
||||
makeDownloadAPI("thumbnail", &cfg.MediaAPI, rateLimits, db, client, activeRemoteRequests, activeThumbnailGeneration),
|
||||
).Methods(http.MethodGet, http.MethodOptions)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ func (m *Monolith) AddAllPublicRoutes(base *base.BaseDendrite, natsInstance *jet
|
|||
federationapi.AddPublicRoutes(
|
||||
base, natsInstance, m.UserAPI, m.FedClient, m.KeyRing, m.RoomserverAPI, m.FederationAPI, nil,
|
||||
)
|
||||
mediaapi.AddPublicRoutes(base, m.UserAPI, m.Client)
|
||||
mediaapi.AddPublicRoutes(base.Routers.Media, base.ConnectionManager, base.Cfg, m.UserAPI, m.Client)
|
||||
syncapi.AddPublicRoutes(base, natsInstance, m.UserAPI, m.RoomserverAPI, caches)
|
||||
|
||||
if m.RelayAPI != nil {
|
||||
|
|
|
|||
Loading…
Reference in a new issue