mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-16 18:43:10 -06:00
Remove BaseDendrite from relay API
This commit is contained in:
parent
b7947c38e8
commit
5ef86d9679
|
|
@ -163,7 +163,7 @@ func (p *P2PMonolith) SetupDendrite(cfg *config.Dendrite, port int, enableRelayi
|
|||
Config: &p.BaseDendrite.Cfg.FederationAPI,
|
||||
UserAPI: userAPI,
|
||||
}
|
||||
relayAPI := relayapi.NewRelayInternalAPI(p.BaseDendrite, federation, rsAPI, keyRing, producer, enableRelaying, caches)
|
||||
relayAPI := relayapi.NewRelayInternalAPI(p.BaseDendrite.Cfg, p.BaseDendrite.ConnectionManager, federation, rsAPI, keyRing, producer, enableRelaying, caches)
|
||||
logrus.Infof("Relaying enabled: %v", relayAPI.RelayingEnabled())
|
||||
|
||||
p.dendrite = setup.Monolith{
|
||||
|
|
|
|||
|
|
@ -17,24 +17,25 @@ package relayapi
|
|||
import (
|
||||
"github.com/matrix-org/dendrite/federationapi/producers"
|
||||
"github.com/matrix-org/dendrite/internal/caching"
|
||||
"github.com/matrix-org/dendrite/internal/httputil"
|
||||
"github.com/matrix-org/dendrite/internal/sqlutil"
|
||||
"github.com/matrix-org/dendrite/relayapi/api"
|
||||
"github.com/matrix-org/dendrite/relayapi/internal"
|
||||
"github.com/matrix-org/dendrite/relayapi/routing"
|
||||
"github.com/matrix-org/dendrite/relayapi/storage"
|
||||
rsAPI "github.com/matrix-org/dendrite/roomserver/api"
|
||||
"github.com/matrix-org/dendrite/setup/base"
|
||||
"github.com/matrix-org/dendrite/setup/config"
|
||||
"github.com/matrix-org/gomatrixserverlib"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
// AddPublicRoutes sets up and registers HTTP handlers on the base API muxes for the FederationAPI component.
|
||||
func AddPublicRoutes(
|
||||
base *base.BaseDendrite,
|
||||
routers httputil.Routers,
|
||||
dendriteCfg *config.Dendrite,
|
||||
keyRing gomatrixserverlib.JSONVerifier,
|
||||
relayAPI api.RelayInternalAPI,
|
||||
) {
|
||||
fedCfg := &base.Cfg.FederationAPI
|
||||
|
||||
relay, ok := relayAPI.(*internal.RelayInternalAPI)
|
||||
if !ok {
|
||||
panic("relayapi.AddPublicRoutes called with a RelayInternalAPI impl which was not " +
|
||||
|
|
@ -42,15 +43,16 @@ func AddPublicRoutes(
|
|||
}
|
||||
|
||||
routing.Setup(
|
||||
base.Routers.Federation,
|
||||
fedCfg,
|
||||
routers.Federation,
|
||||
&dendriteCfg.FederationAPI,
|
||||
relay,
|
||||
keyRing,
|
||||
)
|
||||
}
|
||||
|
||||
func NewRelayInternalAPI(
|
||||
base *base.BaseDendrite,
|
||||
dendriteCfg *config.Dendrite,
|
||||
cm sqlutil.Connections,
|
||||
fedClient *gomatrixserverlib.FederationClient,
|
||||
rsAPI rsAPI.RoomserverInternalAPI,
|
||||
keyRing *gomatrixserverlib.KeyRing,
|
||||
|
|
@ -58,8 +60,7 @@ func NewRelayInternalAPI(
|
|||
relayingEnabled bool,
|
||||
caches caching.FederationCache,
|
||||
) api.RelayInternalAPI {
|
||||
cfg := &base.Cfg.RelayAPI
|
||||
relayDB, err := storage.NewDatabase(base.ConnectionManager, &cfg.Database, caches, base.Cfg.Global.IsLocalServerName)
|
||||
relayDB, err := storage.NewDatabase(cm, &dendriteCfg.RelayAPI.Database, caches, dendriteCfg.Global.IsLocalServerName)
|
||||
if err != nil {
|
||||
logrus.WithError(err).Panic("failed to connect to relay db")
|
||||
}
|
||||
|
|
@ -70,8 +71,8 @@ func NewRelayInternalAPI(
|
|||
rsAPI,
|
||||
keyRing,
|
||||
producer,
|
||||
base.Cfg.Global.Presence.EnableInbound,
|
||||
base.Cfg.Global.ServerName,
|
||||
dendriteCfg.Global.Presence.EnableInbound,
|
||||
dendriteCfg.Global.ServerName,
|
||||
relayingEnabled,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ func TestCreateNewRelayInternalAPI(t *testing.T) {
|
|||
caches := caching.NewRistrettoCache(base.Cfg.Global.Cache.EstimatedMaxSize, base.Cfg.Global.Cache.MaxAge, caching.DisableMetrics)
|
||||
defer close()
|
||||
|
||||
relayAPI := relayapi.NewRelayInternalAPI(base, nil, nil, nil, nil, true, caches)
|
||||
relayAPI := relayapi.NewRelayInternalAPI(base.Cfg, base.ConnectionManager, nil, nil, nil, nil, true, caches)
|
||||
assert.NotNil(t, relayAPI)
|
||||
})
|
||||
}
|
||||
|
|
@ -54,7 +54,7 @@ func TestCreateRelayInternalInvalidDatabasePanics(t *testing.T) {
|
|||
defer close()
|
||||
|
||||
assert.Panics(t, func() {
|
||||
relayapi.NewRelayInternalAPI(base, nil, nil, nil, nil, true, nil)
|
||||
relayapi.NewRelayInternalAPI(base.Cfg, base.ConnectionManager, nil, nil, nil, nil, true, nil)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
@ -65,7 +65,7 @@ func TestCreateInvalidRelayPublicRoutesPanics(t *testing.T) {
|
|||
defer close()
|
||||
|
||||
assert.Panics(t, func() {
|
||||
relayapi.AddPublicRoutes(base, nil, nil)
|
||||
relayapi.AddPublicRoutes(base.Routers, base.Cfg, nil, nil)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
@ -111,12 +111,12 @@ func TestCreateRelayPublicRoutes(t *testing.T) {
|
|||
defer close()
|
||||
caches := caching.NewRistrettoCache(base.Cfg.Global.Cache.EstimatedMaxSize, base.Cfg.Global.Cache.MaxAge, caching.DisableMetrics)
|
||||
|
||||
relayAPI := relayapi.NewRelayInternalAPI(base, nil, nil, nil, nil, true, caches)
|
||||
relayAPI := relayapi.NewRelayInternalAPI(base.Cfg, base.ConnectionManager, nil, nil, nil, nil, true, caches)
|
||||
assert.NotNil(t, relayAPI)
|
||||
|
||||
serverKeyAPI := &signing.YggdrasilKeys{}
|
||||
keyRing := serverKeyAPI.KeyRing()
|
||||
relayapi.AddPublicRoutes(base, keyRing, relayAPI)
|
||||
relayapi.AddPublicRoutes(base.Routers, base.Cfg, keyRing, relayAPI)
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
|
|
@ -161,12 +161,12 @@ func TestDisableRelayPublicRoutes(t *testing.T) {
|
|||
defer close()
|
||||
caches := caching.NewRistrettoCache(base.Cfg.Global.Cache.EstimatedMaxSize, base.Cfg.Global.Cache.MaxAge, caching.DisableMetrics)
|
||||
|
||||
relayAPI := relayapi.NewRelayInternalAPI(base, nil, nil, nil, nil, false, caches)
|
||||
relayAPI := relayapi.NewRelayInternalAPI(base.Cfg, base.ConnectionManager, nil, nil, nil, nil, false, caches)
|
||||
assert.NotNil(t, relayAPI)
|
||||
|
||||
serverKeyAPI := &signing.YggdrasilKeys{}
|
||||
keyRing := serverKeyAPI.KeyRing()
|
||||
relayapi.AddPublicRoutes(base, keyRing, relayAPI)
|
||||
relayapi.AddPublicRoutes(base.Routers, base.Cfg, keyRing, relayAPI)
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
|
|
|
|||
|
|
@ -71,6 +71,6 @@ func (m *Monolith) AddAllPublicRoutes(base *base.BaseDendrite, natsInstance *jet
|
|||
syncapi.AddPublicRoutes(base, natsInstance, m.UserAPI, m.RoomserverAPI, caches)
|
||||
|
||||
if m.RelayAPI != nil {
|
||||
relayapi.AddPublicRoutes(base, m.KeyRing, m.RelayAPI)
|
||||
relayapi.AddPublicRoutes(base.Routers, base.Cfg, m.KeyRing, m.RelayAPI)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue