INT-1815 added support for ignoring user-defined prefix when mapping from HttpHeaders to MessageHeaders
This commit is contained in:
@@ -581,5 +581,38 @@ public class DefaultHttpHeaderMapperFromMessageOutboundTests {
|
||||
assertEquals("abc", messageHeaders.get("foobar"));
|
||||
assertEquals("text/html", messageHeaders.get("Content-Type").toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void validateCustomHeaderAndPrefixWithHeaderNamePatternsAndStandardResponseHeaders() throws ParseException{
|
||||
DefaultHttpHeaderMapper mapper = new DefaultHttpHeaderMapper();
|
||||
mapper.setInboundHeaderNames(new String[]{"foo*", "HTTP_RESPONSE_HEADERS"});
|
||||
HttpHeaders httpHeaders = new HttpHeaders();
|
||||
httpHeaders.set("X-foobar", "abc");
|
||||
httpHeaders.setContentType(MediaType.TEXT_HTML);
|
||||
httpHeaders.setAccept(Collections.singletonList(MediaType.TEXT_HTML));
|
||||
Map<String, ?> messageHeaders = mapper.toHeaders(httpHeaders);
|
||||
assertEquals(2, messageHeaders.size());
|
||||
assertNull(messageHeaders.get("Accept"));
|
||||
assertEquals("abc", messageHeaders.get("foobar"));
|
||||
assertEquals("text/html", messageHeaders.get("Content-Type").toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void validateCustomHeaderAndCustomPrefixWithHeaderNamePatternsAndStandardResponseHeaders() throws ParseException{
|
||||
DefaultHttpHeaderMapper mapper = new DefaultHttpHeaderMapper();
|
||||
mapper.setUserDefinedHeaderPrefix("BOO-");
|
||||
mapper.setInboundHeaderNames(new String[]{"foo*", "HTTP_RESPONSE_HEADERS"});
|
||||
HttpHeaders httpHeaders = new HttpHeaders();
|
||||
httpHeaders.set("BOO-foobar", "abc");
|
||||
httpHeaders.set("barr", "barr");
|
||||
httpHeaders.set("X-barr", "x-barr");
|
||||
httpHeaders.setContentType(MediaType.TEXT_HTML);
|
||||
httpHeaders.setAccept(Collections.singletonList(MediaType.TEXT_HTML));
|
||||
Map<String, ?> messageHeaders = mapper.toHeaders(httpHeaders);
|
||||
assertEquals(2, messageHeaders.size());
|
||||
assertNull(messageHeaders.get("Accept"));
|
||||
assertEquals("abc", messageHeaders.get("foobar"));
|
||||
assertEquals("text/html", messageHeaders.get("Content-Type").toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user