users@websocket-spec.java.net

[jsr356-users] [jsr356-experts] Re: Header names case (in)sensitivity in HandshakeResponse

From: Mark Thomas <mark_at_homeinbox.net>
Date: Mon, 01 Dec 2014 11:18:19 +0000

On 28/11/2014 11:37, Remy Maucherat wrote:
> Hi,
>
> The behavior I can see from the TCK is that the header map returned
> by HandshakeResponse respects case for keys and values, but should be
> case insensitive for keys on lookups. This is very coherent with HTTP
> (and Servlets) so if my interpretation is right I fully agree with
> this, but is not specified anywhere and is not so intuitive due to
> the collection type used here.

I have no objection to this behaviour since I agree it is consistent
with the HTTP and Servlet specs and minimises effort required by end
users to find the header they want.

However, I am concerned that the TCK managed to end up requiring a
behaviour that is not documented in either the specification or the
Javadoc. It MUST be possible to end users to determine the behaviour of
the API solely from the combination of the specification document and
the Javadoc. This raises a number of questions:

1. What other specification required behaviour is only defined in the TCK?

2. How are end users meant to determine what this behaviour is?

(Note: I only had access to an early draft of the TCK before the spec
was final. I do not have access to the current TCK otherwise I could
determine the answer to 1. myself and raise the appropriate issues
against the spec.)

Mark