Skip to content
Snippets Groups Projects
Commit 0696dfd9 authored by Kegan Dougal's avatar Kegan Dougal
Browse files

Actually treat this as static content, not random Resources.

parent 22399d3d
No related branches found
No related tags found
No related merge requests found
......@@ -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.")
......
......@@ -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)
......
......@@ -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)
......@@ -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',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment