Lennart Regebro wrote: > On 5/27/06, Rocky Burt <[EMAIL PROTECTED]> wrote: >> I've heard rumours that ultimately the preferred manner of integration >> of z2 and z3 requests was to replace the z2 ZPublisher with the z3 >> zope.publisher. > > Well, that would not necessarily mean that the requests are the same. :-)
That's true. However, we really want the Zope 2 request to (eventually) become like the Zope 3 browser request. In fact, in many places we already assume that the Zope 2 request is like a Zope 3 browser request. We stick IBrowserRequest on it and hand it over to lots of Zope 3 machinery. So far this has worked relatively well, but there are problems coming up with certain API subtleties. I think the biggest challenge will be to deprecate __getattr__ access for request variables and only allow __getitem__ for this. Then, the getattr protocol will be used to access the request API only. For example, IBrowserRequest demands that requests have a 'debug' attribute. In Zope 2, we have the problem that request.debug is an alternate spelling of request.form['debug']. If that alternate spelling wasn't there, request.debug was free for the IBrowserRequest API. Right now we're doing a frame hack to see where the caller is coming from and either yield request.debug or request.form['debug']. request.debug is just the beginning. At some point we might want to make use of Zope 3 locales and support request.locale. request.principal might make sense when the Zope 3 security mechanism makes it into Zope 2 at some point... As said, I think the first step towards unifying the request interfaces would be to deprecate the __getattr__ protocol for request variables. I think we should start with Zope 2.11. >> But are we doing anything in the short-term? My naive idea was that >> perhaps we should start building FrankenHTTPRequest which extended the >> original ZPublisher HTTPRequest but then also implemented >> zope.publisher's IHTTPRequest interface. > > Isn't that what we are doing? Yup. Philipp _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )