(repost of email earlier today on twisted mailing list. suggested this may be better place to discuss. sorry if you get this twice.)
We have a large client-server based application based on twisted. The application has grown to the point where we would like to add a REST-based API to the server side to allow for interfacing with a wider variety of client applications. Over the weekend I started looking into twisted.web and had a couple of basic questions:
1) Is there any method to stream a large request (ex: PUT or POST with file upload) into the system or does the entire body have to be loaded into memory as part of the request?
2) Has anyone used an existing URL Routing system (ex: Routes , Selector ) and adapted it for use with Twisted? (I know I could use the twisted preferred method of parent child hierarchies, but our application has a better fit with the route-based method used by Pylons, Django, Rails, etc)
3) Is there a document anywhere that describes all the environment variables the user can get from the request and how to get to them? (something like the environ section of the WSGI PEP )
4) Are their any wrappers people have developed to make it a bit easier to use deferreds (in particular inlinecallbacks) in the handlers for twisted.web? (I am considering just writing a wrapper myself that provides an interface similar to google app engine webapp  but wanted to check first so I don't reinvent something)
 http://routes.groovie.org/index.html  http://lukearno.com/projects/selector/  http://www.python.org/dev/peps/pep-0333/#environ-variables  http://code.google.com/appengine/docs/python/tools/webapp/