Alexander Rojas created MESOS-3306:
--------------------------------------
Summary: http::Request and http::Response should allow for
multiple entries of the same header
Key: MESOS-3306
URL: https://issues.apache.org/jira/browse/MESOS-3306
Project: Mesos
Issue Type: Improvement
Components: HTTP API, libprocess
Affects Versions: 0.23.0
Reporter: Alexander Rojas
According to the [HTTP RFC 2616 Section
4.2|http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2] "…Multiple
message-header fields with the same field-name MAY be present in a message if
and only if the entire field-value for that header field is defined as a
comma-separated list". This leads to the following snippets being equivalent:
{code}
Cache-Control: no-cache, no-store
{code}
and
{code}
Cache-Control: no-cache
Cache-Control: no-store
{code}
Our current implementation uses {{hasmap}}s for both {{http::Request}} and
{{http::Response}}. This leads to two kind of problems. First requests being
generated outside of mesos with multiple header fields using the same field
name get overwritten when unserializing the plain request to our
{{http::Request}} object. Second, it makes implementation of
{{WWW-Authenticate}} header more complicated since the header itself can
consist in a comma separated set of values.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)