The missing link that Falcon doesn’t provide is the connection between the Accept header provided by a user and the Content-Type header set on the response.
"Full negotiation" means that we should pick one media type from the response handlers that best matches req.accept, and set resp.content_type to it (and not just do a naive resp.content_type = req.accept which would potentially set it to a bunch of multiple types or even wildcards).
In order to avoid a breaking change, this could be governed by the response options (and potentially enabled by default in a subsequent stable release).
We'll probably need to make this optional anyway or introduce in a non-breaking way in order to avoid disrupting people's code. Rescheduling to 4.1 since we won't have much time for 4.0.
At the time of writing, we don't support full response content-type negotiation:
"Full negotiation" means that we should pick one media type from the response handlers that best matches
req.accept
, and setresp.content_type
to it (and not just do a naiveresp.content_type = req.accept
which would potentially set it to a bunch of multiple types or even wildcards).In order to avoid a breaking change, this could be governed by the response options (and potentially enabled by default in a subsequent stable release).