diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py
index 137293bd69..688bf8d967 100755
--- a/synapse/app/homeserver.py
+++ b/synapse/app/homeserver.py
@@ -36,7 +36,8 @@ from synapse.http.server_key_resource import LocalKey
from synapse.http.matrixfederationclient import MatrixFederationHttpClient
from synapse.api.urls import (
CLIENT_PREFIX, FEDERATION_PREFIX, WEB_CLIENT_PREFIX, CONTENT_REPO_PREFIX,
- SERVER_KEY_PREFIX, MEDIA_PREFIX, CLIENT_V2_ALPHA_PREFIX, APP_SERVICE_PREFIX
+ SERVER_KEY_PREFIX, MEDIA_PREFIX, CLIENT_V2_ALPHA_PREFIX, APP_SERVICE_PREFIX,
+ STATIC_PREFIX
)
from synapse.config.homeserver import HomeServerConfig
from synapse.crypto import context_factory
@@ -81,6 +82,9 @@ class SynapseHomeServer(HomeServer):
webclient_path = os.path.join(syweb_path, "webclient")
return File(webclient_path) # TODO configurable?
+ def build_resource_for_static_content(self):
+ return File("static")
+
def build_resource_for_content_repo(self):
return ContentRepoResource(
self, self.upload_dir, self.auth, self.content_addr
@@ -124,8 +128,8 @@ class SynapseHomeServer(HomeServer):
(SERVER_KEY_PREFIX, self.get_resource_for_server_key()),
(MEDIA_PREFIX, self.get_resource_for_media_repository()),
(APP_SERVICE_PREFIX, self.get_resource_for_app_services()),
+ (STATIC_PREFIX, self.get_resource_for_static_content())
]
- desired_tree += self.get_resource_for_client().get_extra_resources(self)
if web_client:
logger.info("Adding the web client.")
diff --git a/synapse/rest/client/v1/__init__.py b/synapse/rest/client/v1/__init__.py
index 1ebdeadca5..21876b3487 100644
--- a/synapse/rest/client/v1/__init__.py
+++ b/synapse/rest/client/v1/__init__.py
@@ -28,14 +28,6 @@ class ClientV1RestResource(JsonResource):
JsonResource.__init__(self, hs)
self.register_servlets(self, hs)
- def get_extra_resources(self, hs):
- # some parts of client v1 need to produce HTML as the output (e.g.
- # fallback pages) but we can only produce JSON output. In an effort to
- # keep similar logic close together, we'll call through to any servlet
- # which requires HTML output.
- register_resources = register.get_prefixes_and_resources(hs)
- return register_resources
-
@staticmethod
def register_servlets(client_resource, hs):
room.register_servlets(hs, client_resource)
diff --git a/synapse/rest/client/v1/register.py b/synapse/rest/client/v1/register.py
index eee567a583..f5acfb945f 100644
--- a/synapse/rest/client/v1/register.py
+++ b/synapse/rest/client/v1/register.py
@@ -18,12 +18,10 @@ from twisted.internet import defer
from synapse.api.errors import SynapseError, Codes
from synapse.api.constants import LoginType
-from synapse.api.urls import STATIC_PREFIX
from base import ClientV1RestServlet, client_path_pattern
import synapse.util.stringutils as stringutils
from synapse.util.async import run_on_reactor
-from twisted.web.resource import Resource
from hashlib import sha1
import hmac
@@ -307,16 +305,6 @@ class RegisterRestServlet(ClientV1RestServlet):
})
-class RegisterFallbackResource(Resource):
-
- def __init__(self, hs):
- Resource.__init__(self) # Resource is an old-style class :(
- self.hs = hs
-
- def render_GET(self, request):
- return "NOT_YET_IMPLEMENTED"
-
-
def _parse_json(request):
try:
content = json.loads(request.content.read())
@@ -327,14 +315,5 @@ def _parse_json(request):
raise SynapseError(400, "Content not JSON.")
-def get_prefixes_and_resources(hs):
- return [
- (
- STATIC_PREFIX + "/client/register",
- RegisterFallbackResource(hs)
- )
- ]
-
-
def register_servlets(hs, http_server):
RegisterRestServlet(hs).register(http_server)
diff --git a/synapse/server.py b/synapse/server.py
index ba2b2593f1..cb8610a1b4 100644
--- a/synapse/server.py
+++ b/synapse/server.py
@@ -73,6 +73,7 @@ class BaseHomeServer(object):
'resource_for_client',
'resource_for_client_v2_alpha',
'resource_for_federation',
+ 'resource_for_static_content',
'resource_for_web_client',
'resource_for_content_repo',
'resource_for_server_key',
|