def _render(resource, request):
# type: (Resource, Union[DummyRequest, Request]) -> Any
"""
Simulate rendering of a Twisted resource.
:param resource: Twisted Resource with render() method.
:param request: Request (or mock object).
:return: Deferred
"""
result = resource.render(request)
if isinstance(result, bytes):
request.write(result)
request.finish()
return succeed(None)
elif result == NOT_DONE_YET:
if request.finished:
return succeed(None)
else:
return request.notifyFinish()
else:
raise ValueError("Unexpected return value: %r" % (result,))
评论列表
文章目录