diff --git a/synapse/server.py b/synapse/server.py
index 42d2fad8e8..2337d2d9b4 100644
--- a/synapse/server.py
+++ b/synapse/server.py
@@ -70,13 +70,14 @@ from synapse.handlers.acme import AcmeHandler
from synapse.handlers.admin import AdminHandler
from synapse.handlers.appservice import ApplicationServicesHandler
from synapse.handlers.auth import AuthHandler, MacaroonGenerator
-from synapse.handlers.cas_handler import CasHandler
+from synapse.handlers.cas import CasHandler
from synapse.handlers.deactivate_account import DeactivateAccountHandler
from synapse.handlers.device import DeviceHandler, DeviceWorkerHandler
from synapse.handlers.devicemessage import DeviceMessageHandler
from synapse.handlers.directory import DirectoryHandler
from synapse.handlers.e2e_keys import E2eKeysHandler
from synapse.handlers.e2e_room_keys import E2eRoomKeysHandler
+from synapse.handlers.event_auth import EventAuthHandler
from synapse.handlers.events import EventHandler, EventStreamHandler
from synapse.handlers.federation import FederationHandler
from synapse.handlers.groups_local import GroupsLocalHandler, GroupsLocalWorkerHandler
@@ -125,7 +126,6 @@ from synapse.rest.media.v1.media_repository import (
MediaRepository,
MediaRepositoryResource,
)
-from synapse.secrets import Secrets
from synapse.server_notices.server_notices_manager import ServerNoticesManager
from synapse.server_notices.server_notices_sender import ServerNoticesSender
from synapse.server_notices.worker_server_notices_sender import (
@@ -145,8 +145,8 @@ logger = logging.getLogger(__name__)
if TYPE_CHECKING:
from txredisapi import RedisProtocol
- from synapse.handlers.oidc_handler import OidcHandler
- from synapse.handlers.saml_handler import SamlHandler
+ from synapse.handlers.oidc import OidcHandler
+ from synapse.handlers.saml import SamlHandler
T = TypeVar("T", bound=Callable[..., Any])
@@ -286,6 +286,14 @@ class HomeServer(metaclass=abc.ABCMeta):
if self.config.run_background_tasks:
self.setup_background_tasks()
+ def start_listening(self) -> None:
+ """Start the HTTP, manhole, metrics, etc listeners
+
+ Does nothing in this base class; overridden in derived classes to start the
+ appropriate listeners.
+ """
+ pass
+
def setup_background_tasks(self) -> None:
"""
Some handlers have side effects on instantiation (like registering
@@ -417,10 +425,10 @@ class HomeServer(metaclass=abc.ABCMeta):
@cache_in_self
def get_presence_handler(self) -> BasePresenceHandler:
- if self.config.worker_app:
- return WorkerPresenceHandler(self)
- else:
+ if self.get_instance_name() in self.config.worker.writers.presence:
return PresenceHandler(self)
+ else:
+ return WorkerPresenceHandler(self)
@cache_in_self
def get_typing_writer_handler(self) -> TypingWriterHandler:
@@ -633,10 +641,6 @@ class HomeServer(metaclass=abc.ABCMeta):
return GroupAttestionRenewer(self)
@cache_in_self
- def get_secrets(self) -> Secrets:
- return Secrets()
-
- @cache_in_self
def get_stats_handler(self) -> StatsHandler:
return StatsHandler(self)
@@ -696,13 +700,13 @@ class HomeServer(metaclass=abc.ABCMeta):
@cache_in_self
def get_saml_handler(self) -> "SamlHandler":
- from synapse.handlers.saml_handler import SamlHandler
+ from synapse.handlers.saml import SamlHandler
return SamlHandler(self)
@cache_in_self
def get_oidc_handler(self) -> "OidcHandler":
- from synapse.handlers.oidc_handler import OidcHandler
+ from synapse.handlers.oidc import OidcHandler
return OidcHandler(self)
@@ -747,6 +751,10 @@ class HomeServer(metaclass=abc.ABCMeta):
return SpaceSummaryHandler(self)
@cache_in_self
+ def get_event_auth_handler(self) -> EventAuthHandler:
+ return EventAuthHandler(self)
+
+ @cache_in_self
def get_external_cache(self) -> ExternalCache:
return ExternalCache(self)
|