Well, Pylons and webob.Response are geared for the normal case of sending HTML documents. If you do something different, you have to set all necessary headers yourself. That's what the redirect/redirect_to() and abort() functions do; change the headers to match common scenarios. Perhaps abort can be taught that abort(204) should strip the content-type? I'm not sure it's worth making a no_content() function for Pylons, though you could make one for your application.
--Mike On Wed, Jan 21, 2009 at 10:55 AM, Domhnall Walsh <[email protected]> wrote: > Personally, I reckon that if a response shouldn't contain any content, then > it stands to reason that a content-type header is pointless (why tell the > browser what type of data the non-existent content has?). As such, I'd > imagine the interpretation is strict but valid. > > Regards, > Domhnall. > > 2009/1/21 Chris Miles <[email protected]> >> >> I have a simple Pylons controller that responds to PUT requests with a >> 204 (No Content) status and no entity body. For example (stripped >> down):: >> >> class DataController(BaseController): >> def test_put(self): >> do_something() >> response.status = "204" # No content >> return None >> >> The functional test (using webtest) fails on this action with:: >> >> AssertionError: Content-Type header found in a 204 response, which >> must not return content. >> >> because Pylons is including a default Content-Type in the response >> ("content-type: text/html; charset=utf-8"). >> >> I can avoid the error by explicitly removing the Content-Type header >> from the response (del response.headers['content-type']) but this >> seems unnecessary. >> >> Either Pylons or Webtest are at fault with their understanding of >> whether a Content-Type header is allowed with a 204 response. >> >> In webtest it is lint.py:check_content_type() that enforces a 204 >> response to contain no Content-Type header. While I agree a Content- >> Type is unnecessary for a response containing no body, I can't see >> anywhere in rfc2616 that dictates including a Content-Type header is >> invalid. >> >> Anyone care to make a call one way or the other? Otherwise I'll >> submit a Webtest ticket/patch. >> >> Cheers, >> Chris Miles >> >> >> > > > > -- > Quidquid latine dictum sit, altum sonatur. > (Whatever is said in Latin sounds profound) > > > > -- Mike Orr <[email protected]> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~----------~----~----~----~------~----~------~--~---
