Comment 3 for bug 121759

Revision history for this message
James Henstridge (jamesh) wrote :

At this point, I consider all of c.l.w.generalform to be legacy code that we want to remove once the remaining users are converted. Do we have any others that are not in legacy code? Do we have cases where code using the legacy infrastructure would be improved by this change?

As for which 3xx status codes should omit the body, the list of such statuses from the RFC is:
          | "300" ; Section 10.3.1: Multiple Choices
          | "301" ; Section 10.3.2: Moved Permanently
          | "302" ; Section 10.3.3: Found
          | "303" ; Section 10.3.4: See Other
          | "304" ; Section 10.3.5: Not Modified
          | "305" ; Section 10.3.6: Use Proxy
          | "307" ; Section 10.3.8: Temporary Redirect

The ones that are not currently covered by LaunchpadView are 300, 304 and 305.

* The RFC states that 300 should have an entity body describing the "multiple choices"

* 304 responses are part of HTTP's caching system. Apart from resources and +icing, we don't provide enough information to the client for them to make a request where this status code is appropriate. I don't know whether we want to give the appearance of supporting 304 responses given the complexity.

* 305 responses probably shouldn't have an entity body so could be added, but there is no situation where we should be generating this response (and I am not sure how many browsers handle it anyway).