Unbreak HTTP mode
@@ -74,11 +74,13 @@ func main() {
}
keyRing := serverKeyAPI.KeyRing()
- rsAPI := roomserver.NewInternalAPI(
+ rsImpl := roomserver.NewInternalAPI(
base, keyRing, federation,
)
+ // call functions directly on the impl unless running in HTTP mode
+ rsAPI := rsImpl
if base.UseHTTPAPIs {
- roomserver.AddInternalRoutes(base.InternalAPIMux, rsAPI)
+ roomserver.AddInternalRoutes(base.InternalAPIMux, rsImpl)
rsAPI = base.RoomserverHTTPClient()
}
if traceInternal {
@@ -108,7 +110,9 @@ func main() {
federationsender.AddInternalRoutes(base.InternalAPIMux, fsAPI)
fsAPI = base.FederationSenderHTTPClient()
}
- rsAPI.SetFederationSenderAPI(fsAPI)
+ // The underlying roomserver implementation needs to be able to call the fedsender.
+ // This is different to rsAPI which can be the http client which doesn't need this dependency
+ rsImpl.SetFederationSenderAPI(fsAPI)
publicRoomsDB, err := storage.NewPublicRoomsServerDatabase(string(base.Cfg.Database.PublicRoomsAPI), base.Cfg.DbProperties(), cfg.Matrix.ServerName)
if err != nil {
