summary refs log tree commit diff
path: root/synapse/rest/saml2/response_resource.py
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/rest/saml2/response_resource.py')
-rw-r--r--synapse/rest/saml2/response_resource.py17
1 files changed, 5 insertions, 12 deletions
diff --git a/synapse/rest/saml2/response_resource.py b/synapse/rest/saml2/response_resource.py
index 8ee22473e9..69ecc5e4b4 100644
--- a/synapse/rest/saml2/response_resource.py
+++ b/synapse/rest/saml2/response_resource.py
@@ -14,25 +14,18 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from twisted.web.resource import Resource
-from twisted.web.server import NOT_DONE_YET
+from synapse.http.server import DirectServeResource, wrap_html_request_handler
 
-from synapse.http.server import wrap_html_request_handler
 
-
-class SAML2ResponseResource(Resource):
+class SAML2ResponseResource(DirectServeResource):
     """A Twisted web resource which handles the SAML response"""
 
     isLeaf = 1
 
     def __init__(self, hs):
-        Resource.__init__(self)
+        super().__init__()
         self._saml_handler = hs.get_saml_handler()
 
-    def render_POST(self, request):
-        self._async_render_POST(request)
-        return NOT_DONE_YET
-
     @wrap_html_request_handler
-    def _async_render_POST(self, request):
-        return self._saml_handler.handle_saml_response(request)
+    async def _async_render_POST(self, request):
+        return await self._saml_handler.handle_saml_response(request)