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
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---