From 933c8e42f0acb056d1d11d588c6dc7bdeb10b0cb Mon Sep 17 00:00:00 2001 From: Jeremy Grelle Date: Tue, 17 Aug 2010 16:37:33 +0000 Subject: [PATCH] Making the inbound/outbound header mapping strategy symmetrical. --- .../integration/http/DefaultHttpHeaderMapper.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spring-integration-http/src/main/java/org/springframework/integration/http/DefaultHttpHeaderMapper.java b/spring-integration-http/src/main/java/org/springframework/integration/http/DefaultHttpHeaderMapper.java index 67dcc0d45c..064124747f 100644 --- a/spring-integration-http/src/main/java/org/springframework/integration/http/DefaultHttpHeaderMapper.java +++ b/spring-integration-http/src/main/java/org/springframework/integration/http/DefaultHttpHeaderMapper.java @@ -29,6 +29,7 @@ import org.springframework.util.CollectionUtils; * Default {@link HeaderMapper} implementation for HTTP. * * @author Mark Fisher + * @author Jeremy Grelle * @since 2.0 */ public class DefaultHttpHeaderMapper implements HeaderMapper { @@ -75,7 +76,9 @@ public class DefaultHttpHeaderMapper implements HeaderMapper { public Map toHeaders(HttpHeaders source) { Map target = new HashMap(); for (String name : this.inboundHeaderNames) { - List values = source.get(name); + String prefixedName = name.startsWith(USER_DEFINED_HEADER_PREFIX) ? name + : USER_DEFINED_HEADER_PREFIX + name; + List values = source.containsKey(prefixedName) ? source.get(prefixedName) : source.get(name); if (!CollectionUtils.isEmpty(values)) { if (values.size() == 1) { target.put(name, values.get(0));