Start phasing out HttpServer: we should be using Resources instead. Added resource_for_client/federation/web_client to the HomeServer and hooked the C-S servlets to operate on resource_for_client. Dynamically construct the Resource tree.

This commit is contained in:
Kegan Dougal 2014-08-14 09:52:20 +01:00
parent e7736668ba
commit 9f863d3466
7 changed files with 101 additions and 21 deletions

View file

@ -32,19 +32,15 @@ class RestServletFactory(object):
"""
def __init__(self, hs):
http_server = hs.get_http_server()
client_resource = hs.get_resource_for_client()
# TODO(erikj): There *must* be a better way of doing this.
room.register_servlets(hs, http_server)
events.register_servlets(hs, http_server)
register.register_servlets(hs, http_server)
login.register_servlets(hs, http_server)
profile.register_servlets(hs, http_server)
public.register_servlets(hs, http_server)
presence.register_servlets(hs, http_server)
im.register_servlets(hs, http_server)
directory.register_servlets(hs, http_server)
def register_web_client(self, hs):
http_server = hs.get_http_server()
webclient.register_servlets(hs, http_server)
room.register_servlets(hs, client_resource)
events.register_servlets(hs, client_resource)
register.register_servlets(hs, client_resource)
login.register_servlets(hs, client_resource)
profile.register_servlets(hs, client_resource)
public.register_servlets(hs, client_resource)
presence.register_servlets(hs, client_resource)
im.register_servlets(hs, client_resource)
directory.register_servlets(hs, client_resource)

View file

@ -16,6 +16,8 @@
""" This module contains base REST classes for constructing REST servlets. """
import re
CLIENT_PREFIX = "/matrix/client/api/v1"
def client_path_pattern(path_regex):
"""Creates a regex compiled client path with the correct client path
@ -27,7 +29,7 @@ def client_path_pattern(path_regex):
Returns:
SRE_Pattern
"""
return re.compile("^/matrix/client/api/v1" + path_regex)
return re.compile("^" + CLIENT_PREFIX + path_regex)
class RestServlet(object):