'Render the given resource as a response to this request.
This implementation only handles a few of the most common behaviors of
resources.  It can handle a render method that returns a string or
C{NOT_DONE_YET}.  It doesn\'t know anything about the semantics of
request methods (eg HEAD) nor how to set any particular headers.
Basically, it\'s largely broken, but sufficient for some tests at least.
It should B{not} be expanded to do all the same stuff L{Request} does.
Instead, L{DummyRequest} should be phased out and L{Request} (or some
other real code factored in a different way) used.'

def render(self, resource):

    result = resource.render(self)
    if (result is NOT_DONE_YET):
        return
    self.write(result)
    self.finish()
