Me and lots of collegues have been plagued by occasional "Invalid Header" Zope errors. The analysis revealed: Zope tries to be CGI compliant: A CGI reponse can be preceeded by a sequence of HTTP headers separated by a blank line from the response body. Zope 2.1.6 (and before) uses a regular expression to determine whether or not such a header is present and a different regular expression to analyse each successive header. The first regular expression is buggy: leading whitespace can convince it that there is a header although it is not. The second regular expression then fails to parse this "header" and the "Invalid Header" exception is raised. The code has been greatly improved in Zope 2.2. For Zope 2.1.x, there is an easy workaround for the problem. Start the DTML with an empty line. This lets the first regular expression recognize an empty HTTP header, the second regular expression is not called. Dieter
participants (1)
-
Dieter Maurer