diff options
author | Erik Johnston <erik@matrix.org> | 2016-08-05 16:36:07 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2016-08-05 16:36:07 +0100 |
commit | 24f36469bc5c634ff49c87e49e32579d6ac43d7c (patch) | |
tree | 4b80da2084c1c9f581162e9dab3fb67693457d67 /synapse/federation/transport/server.py | |
parent | Change the way we specify if we require auth or not (diff) | |
download | synapse-24f36469bc5c634ff49c87e49e32579d6ac43d7c.tar.xz |
Add federation /version API
Diffstat (limited to 'synapse/federation/transport/server.py')
-rw-r--r-- | synapse/federation/transport/server.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/synapse/federation/transport/server.py b/synapse/federation/transport/server.py index ee8f94e340..37c0d4fbc4 100644 --- a/synapse/federation/transport/server.py +++ b/synapse/federation/transport/server.py @@ -20,11 +20,12 @@ from synapse.api.errors import Codes, SynapseError from synapse.http.server import JsonResource from synapse.http.servlet import parse_json_object_from_request from synapse.util.ratelimitutils import FederationRateLimiter +from synapse.util.versionstring import get_version_string import functools import logging -import simplejson as json import re +import synapse logger = logging.getLogger(__name__) @@ -557,6 +558,20 @@ class PublicRoomList(BaseFederationServlet): defer.returnValue((200, data)) +class FederationVersionServlet(BaseFederationServlet): + PATH = "/version" + + REQUIRE_AUTH = False + + def on_GET(self, origin, content, query): + return defer.succeed((200, { + "server": { + "name": "Synapse", + "version": get_version_string(synapse) + }, + })) + + SERVLET_CLASSES = ( FederationSendServlet, FederationPullServlet, @@ -580,6 +595,7 @@ SERVLET_CLASSES = ( On3pidBindServlet, OpenIdUserInfo, PublicRoomList, + FederationVersionServlet, ) |