If the web client is enabled, automatically redirect root '/' to the web client path.

This commit is contained in:
Kegan Dougal 2014-08-14 11:37:13 +01:00
parent e543d6a91d
commit 9fd445eb92
2 changed files with 30 additions and 4 deletions

View file

@ -22,6 +22,7 @@ from synapse.api.errors import cs_exception, CodeMessageException
from twisted.internet import defer, reactor
from twisted.web import server, resource
from twisted.web.server import NOT_DONE_YET
from twisted.web.util import redirectTo
import collections
import logging
@ -159,6 +160,22 @@ class JsonResource(HttpServer, resource.Resource):
return False
class RootRedirect(resource.Resource):
"""Redirects the root '/' path to another path."""
def __init__(self, path):
resource.Resource.__init__(self)
self.url = path
def render_GET(self, request):
return redirectTo(self.url, request)
def getChild(self, name, request):
if len(name) == 0:
return self # select ourselves as the child to render
return resource.Resource.getChild(self, name, request)
def respond_with_json_bytes(request, code, json_bytes, send_cors=False):
"""Sends encoded JSON in response to the given request.