[Zope-dev] zope.publisher 3.5 branch has code/behavior not a part of subsequent releases
Gary Poster
gary.poster at gmail.com
Mon Aug 24 15:32:48 EDT 2009
Hm. I sent this from the wrong account, so it didn't make it to the
zope-dev list. I'm also adding an additional bit of war story at the
end.
On Aug 24, 2009, at 11:16 AM, Gary Poster wrote:
> Hi Tres
>
> I made a 3.5.8 release of the zope.publisher 3.5 branch for a reason
> unimportant to this email (I backported a change to trunk that was
> discussed on the mailing list). It looks like you made a 3.5.7 with
> the following change (omitting tests and the like).
>
> 98932 tseaver # Python 2.6 notices QS-on-POST,
> which breaks BBB for us.
> 98932 tseaver # Suppress that.
> 98932 tseaver if 'QUERY_STRING' in self._environ:
> 98932 tseaver env = self._environ
> 98932 tseaver env['X-POST-QUERY_STRING'] =
> env.pop('QUERY_STRING')
>
> I can handle adjusting to this change, if it is appropriate, but my
> concern is that it is not in trunk or any subsequent major release
> (3.6, 3.7, 3.8) of zope.publisher. Therefore, if I change my code
> to use my updated 3.5 release, which I had hoped would be a
> conservative update, I have to change in a currently forward-
> incompatible way.
>
> What's the story here? Is 3.5.7 a brownbag that needs to have its
> changes aborted in a subsequent release in that branch? Or are
> those legitimate changes that need to be forward ported?
>
> FWIW, we (Launchpad) also care about this case of a POST with other
> pertinent, separate data in the query string, and the behavior you
> implement here would be fine if it is necessary for Py 2.6 as your
> comment describes.
Also FWIW, this change breaks many of our forms that were explicitly
constructing form actions that included the current query string. I'm
not sure how that could be avoided, although the fix might have been
simpler if there were always an X-ORIGINAL-QUERY_STRING or something
else.
If I were not already behind, I would investigate to understand the
Python 2.6 problem better and see what other frameworks are doing
here. I understand from conversations with other engineers that at
least some Django developers are accustomed to always having access to
the query string on the request object, whether the method were get or
post or whatever else.
>
> Gary
More information about the Zope-Dev
mailing list