# HG changeset patch
# User Goffi <goffi@goffi.org>
# Date 1520792963 -3600
# Node ID c80649cdadd54b05418c3f196dc38177a1a4ad12
# Parent  bacb8f229742323df371faad8e76062af41a6037
pages: new delegateToResource method to continue workflow with a Twisted Resource

diff -r bacb8f229742 -r c80649cdadd5 src/server/pages.py
--- a/src/server/pages.py	Sun Mar 11 19:28:10 2018 +0100
+++ b/src/server/pages.py	Sun Mar 11 19:29:23 2018 +0100
@@ -772,6 +772,16 @@
             else:
                 log.debug(_(u"Removed signal handler"))
 
+    def delegateToResource(self, request, resource):
+        """continue workflow with Twisted Resource"""
+        buf = resource.render(request)
+        if buf == server.NOT_DONE_YET:
+            pass
+        else:
+            request.write(buf)
+            request.finish()
+        raise failure.Failure(exceptions.CancelError(u'resource delegation'))
+
     def HTTPRedirect(self, request, url):
         """redirect to an URL using HTTP redirection