asity icon indicating copy to clipboard operation
asity copied to clipboard

HTTP header name should be returned in lowercase

Open flowersinthesand opened this issue 10 years ago • 1 comments

For the same request, its header may vary according to the underlying platform in terms of case sensitivity. Header has nothing to do with case sensitivity and it doesn't matter at the level of HTTP 1.1 speicification. But, in Java, header is represented as String and it does matter.

// Assumes the same request sent to Servlet and Netty
assertEquals(httpByServlet.headerNames(), httpByNetty.headerNames());

At least, the above assertion should pass. To do that, Every header in returned a set of header string should be lower cased.

flowersinthesand avatar Aug 16 '15 07:08 flowersinthesand

Otherwise, it would be better to introduce HttpHeaders as a a representation for headers like http.requestHeaders() and http.responseHeaders() instead of http.headerNames, http.header, http.headers and http.setHeader.

Otherwise, HttpHeaders would be created for one exchange - accessors for request headers e.g. headers.get and mutators for response headers e.g. headers.set.

flowersinthesand avatar Aug 16 '15 07:08 flowersinthesand