James Y Knight
foom at fuhm.net
Tue Sep 14 20:19:14 MDT 2004
Itamar and I had dinner today and talked about new-web a bit. Here is
what was discussed:
1) We need to keep compatibility with old Nevow resources
2) We ought to keep compatibility with old twisted.web resources
3) The new request API isn't the same as old request API.
4) new-web depends on Twisted 2.0. Nevow will be depending on new-web,
so the next Nevow will depend on twisted 2.0. Thus it cannot be
released until Twisted 2.0. According to itamar the goal for next
Twisted release is around halloween, although I hadn't seen that
mentioned anywhere before. ;)
5) Rumors are Anthony is writing a non-sucky HTTP client. (is this
true?). J. Simms (slyphon) mentioned something about writing one to me
a few weeks ago but I didn't hear anything after. This should be
coordinated so the API for the client and server is as similar as
Conclusions for action:
1) new-web will be called twisted.web2. I will put what I've got into
svn trunk as twisted.web2 tomorrow, assuming no objections. This will
allow easy backwards compatibility at the cost of a 2.
2) Nevow's resource traversal API must be moved to twisted.web2. This
will probably have to be done by branching Nevow to remove those bits.
Therefore, the resource traversal part of nevow should be mostly-frozen
while this happens.
3) For distribution: twisted.web2 depends on Nevow (for static
directory listings, and error pages), so will be distributed with it.
Nevow recommends Twisted but does not require it for simple cases (e.g.
flattening to a string from a CGI script), so there can also be a
limited-functionality distribution of standalone Nevow.
Current status of new-web: the low-level HTTP protocol and header
parsing is in passable shape. The high-level Resource API needs to be
copied over from Nevow (again), because Nevow's API changed. Backwards
compatibility adapters for the t.w.Request/nevow.inevow.IRequest and
(possibly) nevow.inevow.IResource should be added.
I am not able to do everything myself. I will need help, especially
from dp would be helpful for the Nevow transition, to make this happen.
If we do it right, twisted.web2 might even be ready in time for the
release of Twisted 2.0.
More information about the Twisted-web