public void | testCacheControl()Tests that cache control header supports multiple instances of the header,
according to HTTP specification.
The HTTP specification states the following about the fields:
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 [i.e., #(values)]. It MUST be
possible to combine the multiple header fields into one "field-name:
field-value" pair, without changing the semantics of the message, by
appending each subsequent field-value to the first, each separated by a
comma. The order in which header fields with the same field-name are
received is therefore significant to the interpretation of the combined
field value, and thus a proxy MUST NOT change the order of these field
values when a message is forwarded.
Headers h = new Headers();
CharArrayBuffer buffer = new CharArrayBuffer(64);
buffer.append(CACHE_CONTROL_MAX_AGE);
h.parseHeader(buffer);
buffer.clear();
buffer.append(LAST_MODIFIED);
h.parseHeader(buffer);
assertEquals("max-age=15", h.getCacheControl());
buffer.clear();
buffer.append(CACHE_CONTROL_PRIVATE);
h.parseHeader(buffer);
assertEquals("max-age=15,private", h.getCacheControl());
|