Tried that, I get a big
No Such Resource
No such child resource.
back. Watching it in FF's development panel, I see a 404 come back for /.
/static doesn't get served at all, of course.
This, however, DID work.
class tServer(Resource):
isLeaf = False
def getChild(self, path, request):
print('You know what you doing.')
if path == b'':
print("Rendering /")
return self
return Resource.getChild(self, path, request)
def render_GET(self, request):
return bytes(content, "utf-8")
(ignore my printf debugging plz)
So, Thanks! :)
Regards,
Jeff
On Tue, Oct 30, 2018 at 6:42 PM Donal McMullan
Try replacing: isLeaf = True with isLeaf = False
On Tue, 30 Oct 2018 at 21:32, Jeff Grimmett
wrote: I'm sure I'm overlooking something obvious here but I just can't get my head around it.
Here's the setup: twisted.web server that generates dynamic content. Child that serves up static content, e.g. css and favoicon. However, the static content isn't making it. Instead, any hit to localhost/static actually yields up a copy of / again.
Here's the server code
import sys
from twisted.internet import reactor, endpoints from twisted.web import server from twisted.web.resource import Resource from twisted.web.static import File
sys.path.append('lib')
content = """ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="/static/test.css" type="text/css" /> </head> <body> <span class='twistedTest'>This</span> is a test </body> </html> """
class tServer(Resource): isLeaf = True
def render_GET(self, request): return bytes(content, "utf-8")
if __name__ == "__main__": root = tServer() root.putChild(b"static", File("static"))
site = server.Site(root) endpoint = endpoints.TCP4ServerEndpoint(reactor, 8080) endpoint.listen(site)
reactor.run() print("Shutting down!")
It's run with the command 'python tserver.py'. The expectation is that what is inside the custom <span> will be red.
In the same dir as the script is a subdir 'static' with the css file inside it.
If I replace 'root' with root = Resource() then / doesn't serve up anything, but /static is a directory listing of the static directory.
The dynamic server is basically a copy of several tutorials cooked down to something that I could use to demonstrate the problem.
What am I missing here? /headscratch
Regards,
Jeff _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python