added support for case insensitivity for the user defined header prefix in DefaultHttpHeaderMapper
This commit is contained in:
Oleg Zhurakousky
2012-02-01 08:49:29 -05:00
committed by Mark Fisher
parent caa25251a9
commit f57fdcd516
2 changed files with 26 additions and 3 deletions

View File

@@ -603,4 +603,24 @@ public class DefaultHttpHeaderMapperFromMessageOutboundTests {
assertEquals(1, result.size());
assertEquals("x-foo-value", result.get("X-Foo"));
}
@Test
public void validateCustomHeaderCaseInsensitivity() throws ParseException{
DefaultHttpHeaderMapper mapper = new DefaultHttpHeaderMapper();
mapper.setOutboundHeaderNames(new String[]{"*", "HTTP_REQUEST_HEADERS"});
Map<String, Object> messageHeaders = new HashMap<String, Object>();
messageHeaders.put("foobar", "abc");
messageHeaders.put("X-bar", "xbar");
messageHeaders.put("x-baz", "xbaz");
messageHeaders.put("Content-Type", "text/html");
messageHeaders.put("Accept", "text/xml");
HttpHeaders headers = new HttpHeaders();
mapper.fromHeaders(new MessageHeaders(messageHeaders), headers);
assertEquals(5, headers.size());
assertEquals(1, headers.get("X-foobar").size());
assertEquals(1, headers.get("x-foobar").size());
assertEquals(1, headers.get("X-bar").size());
assertEquals(1, headers.get("x-bar").size());
assertEquals(1, headers.get("X-baz").size());
assertEquals(1, headers.get("x-baz").size());
}
}