Browse Source

Merge pull request #85 from matrix-org/travis/ping

Actually respond with 200 OK at /v1
David Baker 5 years ago
parent
commit
4c22842524
3 changed files with 43 additions and 1 deletions
  1. 1 1
      sydent/http/httpserver.py
  2. 40 0
      sydent/http/servlets/v1_servlet.py
  3. 2 0
      sydent/sydent.py

+ 1 - 1
sydent/http/httpserver.py

@@ -33,7 +33,7 @@ class ClientApiHttpServer:
         matrix = Resource()
         identity = Resource()
         api = Resource()
-        v1 = Resource()
+        v1 = self.sydent.servlets.v1
 
         validate = Resource()
         email = Resource()

+ 40 - 0
sydent/http/servlets/v1_servlet.py

@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+
+# Copyright 2018 Travis Ralston
+# Copyright 2018 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.
+
+from twisted.web.resource import Resource
+
+from sydent.http.servlets import jsonwrap, send_cors
+
+
+class V1Servlet(Resource):
+    isLeaf = False
+
+    def __init__(self, syd):
+        Resource.__init__(self)
+        self.sydent = syd
+
+    @jsonwrap
+    def render_GET(self, request):
+        send_cors(request)
+        request.setResponseCode(200)
+        return {}
+
+    @jsonwrap
+    def render_OPTIONS(self, request):
+        send_cors(request)
+        request.setResponseCode(200)
+        return {}

+ 2 - 0
sydent/sydent.py

@@ -46,6 +46,7 @@ from http.servlets.threepidunbindservlet import ThreePidUnbindServlet
 from http.servlets.replication import ReplicationPushServlet
 from http.servlets.getvalidated3pidservlet import GetValidated3pidServlet
 from http.servlets.store_invite_servlet import StoreInviteServlet
+from http.servlets.v1_servlet import V1Servlet
 
 from threepid.bind import ThreepidBinder
 
@@ -142,6 +143,7 @@ class Sydent:
         self.sig_verifier = Verifier(self)
 
         self.servlets = Servlets()
+        self.servlets.v1 = V1Servlet(self)
         self.servlets.emailRequestCode = EmailRequestCodeServlet(self)
         self.servlets.emailValidate = EmailValidateCodeServlet(self)
         self.servlets.msisdnRequestCode = MsisdnRequestCodeServlet(self)