'Render me to a web client.
Load my file, execute it in a special namespace (with \'request\' and
\'__file__\' global vars) and finish the request.  Output to the web-page
will NOT be handled with print - standard output goes to the log - but
with request.write.'

def render(self, request):

    request.setHeader('x-powered-by', networkString(('Twisted/%s' % copyright.version)))
    namespace = {'request': request, '__file__': _coerceToFilesystemEncoding('', self.filename), 'registry': self.registry}
    try:
        execfile(self.filename, namespace, namespace)
    except IOError as e:
        if (e.errno == 2):
            request.setResponseCode(http.NOT_FOUND)
            request.write(resource.NoResource('File    not    found.').render(request))
    except:
        io = NativeStringIO()
        traceback.print_exc(file=io)
        output = util._PRE(io.getvalue())
        if _PY3:
            output = output.encode('utf8')
        request.write(output)
    request.finish()
    return server.NOT_DONE_YET
