diff options
author | Kegan Dougal <kegan@matrix.org> | 2014-08-13 13:50:01 +0100 |
---|---|---|
committer | Kegan Dougal <kegan@matrix.org> | 2014-08-13 13:50:01 +0100 |
commit | 7f40fa1d4601960e8c1ea39af26a3e7515ff0f3e (patch) | |
tree | 759a6669ff412bc27b3ea57871e4a14fa418106e /synapse/rest/webclient.py | |
parent | Merge branch 'master' of github.com:matrix-org/synapse (diff) | |
download | synapse-7f40fa1d4601960e8c1ea39af26a3e7515ff0f3e.tar.xz |
Added a -w flag which will host the web client if specified. Currently this just delegates to the webclient RestServlet.
Diffstat (limited to 'synapse/rest/webclient.py')
-rw-r--r-- | synapse/rest/webclient.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/synapse/rest/webclient.py b/synapse/rest/webclient.py new file mode 100644 index 0000000000..75a425c14c --- /dev/null +++ b/synapse/rest/webclient.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Copyright 2014 matrix.org +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from synapse.rest.base import RestServlet + +import logging +import re + +logger = logging.getLogger(__name__) + + +class WebClientRestServlet(RestServlet): + # No PATTERN; we have custom dispatch rules here + + def register(self, http_server): + http_server.register_path("GET", + re.compile("^/$"), + self.on_GET_redirect) + http_server.register_path("GET", + re.compile("^/matrix/client$"), + self.on_GET) + + def on_GET(self, request): + return (200, "not implemented") + + def on_GET_redirect(self, request): + request.setHeader("Location", request.uri + "matrix/client") + return (302, None) + + +def register_servlets(hs, http_server): + logger.info("Registering web client.") + WebClientRestServlet(hs).register(http_server) \ No newline at end of file |