[ 
https://issues.apache.org/jira/browse/MESOS-3306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Rojas updated MESOS-3306:
-----------------------------------
    Description: 
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.

  was:
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.


> 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
>              Labels: http-headers, mesosphere
>
> 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)

Reply via email to