[Twisted-web] getChild in python3

Tom Most twm at freecog.net
Tue Nov 5 15:37:52 MST 2019


Hi Nathaniel,

The string 'bug' needs to be a bytestring, b'bug'. This is indeed a bug, but Twisted 19.7.0 will at least generate a deprecation warning about it. A future version of Twisted will throw an exception (once the deprecation period has passed).

https://twistedmatrix.com/trac/ticket/9135

---Tom

On Tue, Nov 5, 2019, at 12:20 PM, Nathaniel Haggard wrote:
> # This code doesn't call getChild in python3, but it does in python2 (python2 throws AttributeError, but python3 doesn't) with "curl http://127.0.0.1:8803/bug/a" and Twisted==19.7.0 with python3.5.2:
> 
> from twisted.application import internet, service, strports
> from twisted.web.resource import Resource
> from twisted.web.server import Site
> from twisted.internet import reactor
> from twisted.python import log
> 
> 
> from twisted.web.resource import Resource
> 
> 
> 
> class R(Resource):
>  allowedMethods=('GET',)
>  def getChild(self, name, request):
>  pass
> 
> 
> r = Resource()
> r.putChild('bug', R())
> 
> application = service.Application('web')
> site = Site(r)
> sc = service.IServiceCollection(application)
> i = strports.service("tcp:8803", site)
> i.setServiceParent(sc)
> 
> _______________________________________________
> Twisted-web mailing list
> Twisted-web at twistedmatrix.com
> https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-web/attachments/20191105/e3aba903/attachment.html>


More information about the Twisted-web mailing list