summaryrefslogtreecommitdiff
path: root/server/src/leap/soledad/server/_resource.py
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/leap/soledad/server/_resource.py')
-rw-r--r--server/src/leap/soledad/server/_resource.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/server/src/leap/soledad/server/_resource.py b/server/src/leap/soledad/server/_resource.py
index 3e307e44..1c4edade 100644
--- a/server/src/leap/soledad/server/_resource.py
+++ b/server/src/leap/soledad/server/_resource.py
@@ -22,6 +22,7 @@ from twisted.web.resource import Resource
from ._blobs import blobs_resource
from ._config import get_config
+from ._server_info import ServerInfo
from ._wsgi import get_sync_resource
@@ -34,26 +35,33 @@ class SoledadResource(Resource):
for the Soledad Server.
"""
- _conf = get_config()
-
def __init__(self, sync_pool=None):
sync_resource = get_sync_resource(sync_pool)
- self._blobs_enabled = self._conf['soledad-server']['blobs']
+ conf = get_config()
+ self._blobs_enabled = conf['soledad-server']['blobs']
+ server_info = ServerInfo(self._blobs_enabled)
self.children = {
+ '': server_info,
'sync': sync_resource,
'blobs': blobs_resource,
+ 'sync': sync_resource,
}
def getChild(self, path, request):
"""
Decide which child resource to serve based on the given path.
"""
+ # requests to / return server information
+ if path == '':
+ return self.children['']
+
+ # requests to /blobs will serve blobs if enabled
if path == 'blobs':
if not self._blobs_enabled:
msg = 'Blobs feature is disabled in this server.'
raise Error(403, message=msg)
return self.children['blobs']
- # rewind the path and serve the wsgi sync resource
+ # other requesta are routed to legacy sync resource
request.postpath.insert(0, request.prepath.pop())
return self.children['sync']