From 0b5f3b20e4d8a32a69974f0f1378a6b05e387a6d Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Wed, 9 Mar 2011 10:57:03 -0500 Subject: [PATCH] INT-1815 added additional test cases for DefaultHttpHeaderMapper --- .../http/support/DefaultHttpHeaderMapper.java | 3 -- ...pHeaderMapperFromMessageOutboundTests.java | 54 ++++++++----------- 2 files changed, 21 insertions(+), 36 deletions(-) diff --git a/spring-integration-http/src/main/java/org/springframework/integration/http/support/DefaultHttpHeaderMapper.java b/spring-integration-http/src/main/java/org/springframework/integration/http/support/DefaultHttpHeaderMapper.java index 40a2e28ccb..f24168c486 100644 --- a/spring-integration-http/src/main/java/org/springframework/integration/http/support/DefaultHttpHeaderMapper.java +++ b/spring-integration-http/src/main/java/org/springframework/integration/http/support/DefaultHttpHeaderMapper.java @@ -303,9 +303,6 @@ public class DefaultHttpHeaderMapper implements HeaderMapper { Map target = new HashMap(); Set headerNames = source.keySet(); for (String name : headerNames) { - if (name.startsWith(userDefinedHeaderPrefix)){ - name = name.substring(userDefinedHeaderPrefix.length()); - } if (this.shouldMapInboundHeader(name)) { if (!ObjectUtils.containsElement(HTTP_REQUEST_HEADER_NAMES, name) && !ObjectUtils.containsElement(HTTP_RESPONSE_HEADER_NAMES, name)) { String prefixedName = name.startsWith(this.userDefinedHeaderPrefix) ? name : this.userDefinedHeaderPrefix + name; diff --git a/spring-integration-http/src/test/java/org/springframework/integration/http/support/DefaultHttpHeaderMapperFromMessageOutboundTests.java b/spring-integration-http/src/test/java/org/springframework/integration/http/support/DefaultHttpHeaderMapperFromMessageOutboundTests.java index 09a2239fba..e5d93e2de4 100644 --- a/spring-integration-http/src/test/java/org/springframework/integration/http/support/DefaultHttpHeaderMapperFromMessageOutboundTests.java +++ b/spring-integration-http/src/test/java/org/springframework/integration/http/support/DefaultHttpHeaderMapperFromMessageOutboundTests.java @@ -581,38 +581,26 @@ 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 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 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 validateCustomHeaderWithStandardPrefix() throws Exception{ + DefaultHttpHeaderMapper mapper = new DefaultHttpHeaderMapper(); + mapper.setInboundHeaderNames(new String[] {"X-Foo"}); + HttpHeaders headers = new HttpHeaders(); + headers.set("x-foo", "x-foo-value"); + Map result = mapper.toHeaders(headers); + assertEquals(1, result.size()); + assertEquals("x-foo-value", result.get("x-foo")); + } + + @Test + public void validateCustomHeaderWithStandardPrefixSameCase() throws Exception{ + DefaultHttpHeaderMapper mapper = new DefaultHttpHeaderMapper(); + mapper.setInboundHeaderNames(new String[] {"X-Foo"}); + HttpHeaders headers = new HttpHeaders(); + headers.set("X-Foo", "x-foo-value"); + Map result = mapper.toHeaders(headers); + assertEquals(1, result.size()); + assertEquals("x-foo-value", result.get("X-Foo")); + } }