Comment 2 for bug 1563371

Revision history for this message
Bill Huber (wbhuber) wrote :

According to the 406 status code on RFC - please read the Note:section below. I take it that Swift is a user agent that inspects the field passed in in the Accept request header. In common/swob.py, we parse through the field but come short of deciphering the quality value (lines #682-#690) and limiting it to three digits after the decimal point.

https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

10.4.7 406 Not Acceptable

The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request.

Unless it was a HEAD request, the response SHOULD include an entity containing a list of available entity characteristics and location(s) from which the user or user agent can choose the one most appropriate. The entity format is specified by the media type given in the Content-Type header field. Depending upon the format and the capabilities of the user agent, selection of the most appropriate choice MAY be performed automatically. However, this specification does not define any standard for such automatic selection.

      Note: HTTP/1.1 servers are allowed to return responses which are
      not acceptable according to the accept headers sent in the
      request. In some cases, this may even be preferable to sending a
      406 response. User agents are encouraged to inspect the headers of
      an incoming response to determine if it is acceptable.