From b2f6f894964d41236ca5654a7190b63115317ec6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Christian=20Gr=C3=BCnhage?= Date: Mon, 25 Sep 2017 12:16:47 +0200 Subject: [PATCH] Implement version endpoint (#262) --- .../dendrite/federationapi/readers/version.go | 33 +++++++++++++++++++ .../dendrite/federationapi/routing/routing.go | 7 ++++ 2 files changed, 40 insertions(+) create mode 100644 src/github.com/matrix-org/dendrite/federationapi/readers/version.go diff --git a/src/github.com/matrix-org/dendrite/federationapi/readers/version.go b/src/github.com/matrix-org/dendrite/federationapi/readers/version.go new file mode 100644 index 000000000..5af082214 --- /dev/null +++ b/src/github.com/matrix-org/dendrite/federationapi/readers/version.go @@ -0,0 +1,33 @@ +// Copyright 2017 New Vector 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. + +package readers + +import ( + "github.com/matrix-org/util" +) + +type version struct { + Server server `json:"server"` +} + +type server struct { + Version string `json:"version"` + Name string `json:"name"` +} + +// Version returns the server version +func Version() util.JSONResponse { + return util.JSONResponse{Code: 200, JSON: &version{server{"dev", "Dendrite"}}} +} diff --git a/src/github.com/matrix-org/dendrite/federationapi/routing/routing.go b/src/github.com/matrix-org/dendrite/federationapi/routing/routing.go index b733fe9e2..b927133bb 100644 --- a/src/github.com/matrix-org/dendrite/federationapi/routing/routing.go +++ b/src/github.com/matrix-org/dendrite/federationapi/routing/routing.go @@ -106,4 +106,11 @@ func Setup( ) }, )).Methods("GET") + + v1fedmux.Handle("/version", common.MakeAPI( + "federation_version", + func(httpReq *http.Request) util.JSONResponse { + return readers.Version() + }, + )).Methods("GET") }