Merge pull request #468 from matrix-org/daniel/versionsyo

Add /_matrix/versions to report supported versions
This commit is contained in:
Daniel Wagner-Hall 2016-01-06 18:09:04 +00:00
commit 7ac6ca7311
3 changed files with 43 additions and 0 deletions

View file

@ -185,6 +185,7 @@ class SynapseHomeServer(HomeServer):
"/_matrix/client/r0": client_resource, "/_matrix/client/r0": client_resource,
"/_matrix/client/unstable": client_resource, "/_matrix/client/unstable": client_resource,
"/_matrix/client/v2_alpha": client_resource, "/_matrix/client/v2_alpha": client_resource,
"/_matrix/client/versions": client_resource,
}) })
if name == "federation": if name == "federation":

View file

@ -13,6 +13,10 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from synapse.rest.client import (
versions,
)
from synapse.rest.client.v1 import ( from synapse.rest.client.v1 import (
room, room,
events, events,
@ -53,6 +57,8 @@ class ClientRestResource(JsonResource):
@staticmethod @staticmethod
def register_servlets(client_resource, hs): def register_servlets(client_resource, hs):
versions.register_servlets(client_resource)
# "v1" # "v1"
room.register_servlets(hs, client_resource) room.register_servlets(hs, client_resource)
events.register_servlets(hs, client_resource) events.register_servlets(hs, client_resource)

View file

@ -0,0 +1,36 @@
# -*- coding: utf-8 -*-
# Copyright 2016 OpenMarket Ltd
#
# 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.http.servlet import RestServlet
import logging
import re
logger = logging.getLogger(__name__)
class VersionsRestServlet(RestServlet):
PATTERNS = [re.compile("^/_matrix/client/versions$")]
def on_GET(self, request):
return (200, {
"versions": [
"r0.0.1",
]
})
def register_servlets(http_server):
VersionsRestServlet().register(http_server)