[Zope-dev] broken zope.publisher because of new content types in zope.contenttype

Aaron Lehmann aaron at zope.com
Mon Jan 4 12:08:08 EST 2010


On Sat, Jan 2, 2010 at 5:17 AM, Roger <dev at projekt01.ch> wrote:
> Hi all
>
> Since aaron added new mimetypes e.g. application/javascript,
> the _implicitResult method in zope.publisher.http.py (line 794)
> is broken because the method checks for text/* content types
> if unicode is given:
>
>    def _implicitResult(self, body):
>        encoding = getCharsetUsingRequest(self._request) or 'utf-8'
>        content_type = self.getHeader('content-type')
>
>        if isinstance(body, unicode):
>            try:
>                if not content_type.startswith('text/'):
>                    raise ValueError(
>                        'Unicode results must have a text content type.')
>            except AttributeError:
>                    raise ValueError(
>                        'Unicode results must have a text content type.')
>

I changed the mime-type for .js from application/x-javascript to
application/javascript.  Since I didn't change any text/* mime-types,
I'm not seeing how my change could be breaking anything that wasn't
already broken.  The tests for zope.publisher run fine for me with my
changes, anyway.  Can you tell how to reproduce the breakage?

> Sould we remove this basic content type check above?
> Or enhance the check with the new added unicode valid
> content types like application/javascript.

Since whatever code is breaking for you now probably was breaking
before (since it was passing in application/x-javascript, which is
also not a text/* type), I'm inclined to think that your problem is at
a higher level.

> btw, the RFC is just Informational which defines
> this changes. See: http://www.rfc-editor.org/rfc/rfc4329.txt

According to the link above, the status of the following are:

   text/javascript               "obsolete"
   application/x-javascript "discouraged"
   application/javascript    "intended for common use, should be used"

Aaron Lehmann


More information about the Zope-Dev mailing list