INT-1734 updated DefaultHttpHeaderMapper with case-insensitive checks for header names

This commit is contained in:
Oleg Zhurakousky
2011-01-05 15:47:54 -05:00
parent 2b99849f0c
commit 3bc9c5d20d
3 changed files with 72 additions and 34 deletions

View File

@@ -68,6 +68,18 @@ public class DefaultHttpHeaderMapperFromMessageInboundTests {
assertEquals(HttpMethod.GET, headers.getAllow().iterator().next());
}
@Test
public void validateAllowAsStringCaseInsensitive(){
HeaderMapper<HttpHeaders> mapper = DefaultHttpHeaderMapper.inboundMapper();
Map<String, Object> messageHeaders = new HashMap<String, Object>();
messageHeaders.put("allow", "GET");
HttpHeaders headers = new HttpHeaders();
mapper.fromHeaders(new MessageHeaders(messageHeaders), headers);
assertEquals(1, headers.getAllow().size());
assertEquals(HttpMethod.GET, headers.getAllow().iterator().next());
}
@Test
public void validateAllowAsHttpMethod(){
HeaderMapper<HttpHeaders> mapper = DefaultHttpHeaderMapper.inboundMapper();

View File

@@ -122,6 +122,19 @@ public class DefaultHttpHeaderMapperFromMessageOutboundTests {
assertEquals("text/xml", headers.getAccept().get(1).toString());
}
@Test
public void validateAcceptHeaderMultipleAsStringCollectionCaseInsensitive(){
HeaderMapper<HttpHeaders> mapper = DefaultHttpHeaderMapper.outboundMapper();
Map<String, Object> messageHeaders = new HashMap<String, Object>();
messageHeaders.put("acCePt", CollectionUtils.arrayToList(new String[]{"bar/foo", "text/xml"}));
HttpHeaders headers = new HttpHeaders();
mapper.fromHeaders(new MessageHeaders(messageHeaders), headers);
assertEquals(2, headers.getAccept().size());
assertEquals("bar/foo", headers.getAccept().get(0).toString());
assertEquals("text/xml", headers.getAccept().get(1).toString());
}
@Test
public void validateAcceptHeaderMultipleAsMediatypeCollection(){
HeaderMapper<HttpHeaders> mapper = DefaultHttpHeaderMapper.outboundMapper();