Merge rest servlets into the client json resource object

This commit is contained in:
Mark Haines 2015-01-23 10:37:38 +00:00
parent 22f00a09dd
commit 7256def8e4
5 changed files with 18 additions and 28 deletions

View file

@ -37,6 +37,7 @@ from synapse.api.urls import (
from synapse.config.homeserver import HomeServerConfig
from synapse.crypto import context_factory
from synapse.util.logcontext import LoggingContext
from synapse.rest.client.v1 import ClientV1RestResource
from daemonize import Daemonize
import twisted.manhole.telnet
@ -59,7 +60,7 @@ class SynapseHomeServer(HomeServer):
return MatrixFederationHttpClient(self)
def build_resource_for_client(self):
return JsonResource()
return ClientV1RestResource(self)
def build_resource_for_federation(self):
return JsonResource()
@ -224,8 +225,6 @@ def setup():
content_addr=config.content_addr,
)
hs.register_servlets()
hs.create_resource_tree(
web_client=config.webclient,
redirect_root_to_web_client=True,

View file

@ -19,22 +19,18 @@ from . import (
voip, admin,
)
from synapse.http.server import JsonResource
class RestServletFactory(object):
""" A factory for creating REST servlets.
These REST servlets represent the entire client-server REST API. Generally
speaking, they serve as wrappers around events and the handlers that
process them.
See synapse.events for information on synapse events.
"""
class ClientV1RestResource(JsonResource):
"""A resource for version 1 of the matrix client API."""
def __init__(self, hs):
client_resource = hs.get_resource_for_client()
JsonResource.__init__(self)
self.register_servlets(self, hs)
# TODO(erikj): There *must* be a better way of doing this.
@staticmethod
def register_servlets(client_resource, hs):
room.register_servlets(hs, client_resource)
events.register_servlets(hs, client_resource)
register.register_servlets(hs, client_resource)

View file

@ -24,7 +24,6 @@ from synapse.events.utils import serialize_event
from synapse.notifier import Notifier
from synapse.api.auth import Auth
from synapse.handlers import Handlers
from synapse.rest.client.v1 import RestServletFactory
from synapse.state import StateHandler
from synapse.storage import DataStore
from synapse.types import UserID, RoomAlias, RoomID, EventID
@ -203,9 +202,6 @@ class HomeServer(BaseHomeServer):
def build_auth(self):
return Auth(self)
def build_rest_servlet_factory(self):
return RestServletFactory(self)
def build_state_handler(self):
return StateHandler(self)
@ -229,9 +225,3 @@ class HomeServer(BaseHomeServer):
clock=self.get_clock(),
hostname=self.hostname,
)
def register_servlets(self):
""" Register all servlets associated with this HomeServer.
"""
# Simply building the ServletFactory is sufficient to have it register
self.get_rest_servlet_factory()