[Twisted-Python] Re: serving dynamic on root and still serve static somehow
With isLeaf=False, the root resource will _never_ have its render() method called. That is because the request for the root resource is always '/', not ''. (i.e., "GET / HTTP/1.1", not "GET HTTP/1.1")
'/'.split('/') == [''], which means that getChild('', request) will be called. Therefore, your root resource must respond to getChild('', request).
This is so tricky. Your suggestion does not work because I want to pass a parameter for the dynamic page which I read out with request.postpath[0]. You know what would solve my problem really quickly: If I would know how to call a child manually (or not even a child but the static.File('.') resource). I have come up with the following code but it does throw me a " does not return a string" error: class Container(resource.Resource): isLeaf = True def render(self, request): if request.postpath[0] == 'static': return self.getChild('static', request) else: return doContainer(request) root = Container() root.putChild('static', static.File('.')) site = server.Site(root) reactor.listenTCP(8080, site) reactor.run() _stephan -- NEU FÜR ALLE - GMX MediaCenter - für Fotos, Musik, Dateien... Fotoalbum, File Sharing, MMS, Multimedia-Gruß, GMX FotoService Jetzt kostenlos anmelden unter http://www.gmx.net +++ GMX - die erste Adresse für Mail, Message, More! +++
participants (1)
-
ccom@gmx.net