users@grizzly.java.net

Re: Lower case headers

From: Oleksiy Stashok <oleksiy.stashok_at_oracle.com>
Date: Wed, 30 Mar 2016 14:09:58 -0700

Hi Ana,


On 3/30/16 1:42 PM, Ana Laura Felisatti wrote:
> We've been using Grizzly for a while now in a project but some
> concerns have come up regarding how the headers are processed. In
> short, we see no way of accessing the original request header names in
> terms of case: if we send "MYHeaDEr=bla" then what we'll see in the
> server side is "myheader=bla".
>
> I've tracked the behavior down to
> org.glassfish.grizzly.http.HttpCodecFilter#parseHeaderName. I'm
> guessing there could be performance reasons for that perhaps and I
> know that headers are case insensitive so it shouldn't really matter
> but I'd like to know whether this can be done somehow and if not why.
For now there is no way to restore the original header name.
Could you pls. explain your case, maybe we'll be able to implement a way
to figure that out.
I suspect you want Request.getHeaderNames() to return original names,
right? Suppose there are both "MYHeaDEr" and "myheader" headers in the
request, what should getHeaderNames() return in that case? I understand
it's kind of corner case, but I'd like to understand your
requirements/expectations better.


Thank you.

WBR,
Alexey.