CAMEL-6453 share the common code between NettyEndpoint and NettyHttpEndpoint
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/011002fd Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/011002fd Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/011002fd Branch: refs/heads/master Commit: 011002fd65e8e5d62b76257a9cd51834e23f1c98 Parents: 65f92ea Author: Willem Jiang <ningji...@apache.org> Authored: Thu Jun 13 15:26:48 2013 +0800 Committer: Willem Jiang <ningji...@apache.org> Committed: Thu Jun 13 15:30:49 2013 +0800 ---------------------------------------------------------------------- .../component/netty/http/NettyHttpEndpoint.java | 10 +++------- .../camel/component/netty/NettyEndpoint.java | 17 +++++++++++------ 2 files changed, 14 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/011002fd/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java index 2794bcc..4b6ba14 100644 --- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java +++ b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java @@ -78,13 +78,9 @@ public class NettyHttpEndpoint extends NettyEndpoint implements HeaderFilterStra HttpRequest request = (HttpRequest) messageEvent.getMessage(); Message in = getNettyHttpBinding().toCamelMessage(request, exchange, getConfiguration()); exchange.setIn(in); - - // set additional headers - in.setHeader(NettyConstants.NETTY_CHANNEL_HANDLER_CONTEXT, ctx); - in.setHeader(NettyConstants.NETTY_MESSAGE_EVENT, messageEvent); - in.setHeader(NettyConstants.NETTY_REMOTE_ADDRESS, messageEvent.getRemoteAddress()); - in.setHeader(NettyConstants.NETTY_LOCAL_ADDRESS, messageEvent.getChannel().getLocalAddress()); - in.setHeader(NettyConstants.NETTY_SSL_SESSION, getSSLSession(ctx)); + + // setup the common message headers + updateMessageHeader(in, ctx, messageEvent); // honor the character encoding String contentType = in.getHeader(Exchange.CONTENT_TYPE, String.class); http://git-wip-us.apache.org/repos/asf/camel/blob/011002fd/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyEndpoint.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyEndpoint.java index ddcf638..3247a34 100644 --- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyEndpoint.java +++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyEndpoint.java @@ -20,6 +20,7 @@ import javax.net.ssl.SSLSession; import org.apache.camel.Consumer; import org.apache.camel.Exchange; +import org.apache.camel.Message; import org.apache.camel.Processor; import org.apache.camel.Producer; import org.apache.camel.impl.DefaultEndpoint; @@ -56,12 +57,7 @@ public class NettyEndpoint extends DefaultEndpoint { public Exchange createExchange(ChannelHandlerContext ctx, MessageEvent messageEvent) throws Exception { Exchange exchange = createExchange(); - exchange.getIn().setHeader(NettyConstants.NETTY_CHANNEL_HANDLER_CONTEXT, ctx); - exchange.getIn().setHeader(NettyConstants.NETTY_MESSAGE_EVENT, messageEvent); - exchange.getIn().setHeader(NettyConstants.NETTY_REMOTE_ADDRESS, messageEvent.getRemoteAddress()); - exchange.getIn().setHeader(NettyConstants.NETTY_LOCAL_ADDRESS, messageEvent.getChannel().getLocalAddress()); - // setup the SslSession header - exchange.getIn().setHeader(NettyConstants.NETTY_SSL_SESSION, getSSLSession(ctx)); + updateMessageHeader(exchange.getIn(), ctx, messageEvent); NettyPayloadHelper.setIn(exchange, messageEvent.getMessage()); return exchange; } @@ -110,5 +106,14 @@ public class NettyEndpoint extends DefaultEndpoint { } return sslSession; } + + protected void updateMessageHeader(Message in, ChannelHandlerContext ctx, MessageEvent messageEvent) { + in.setHeader(NettyConstants.NETTY_CHANNEL_HANDLER_CONTEXT, ctx); + in.setHeader(NettyConstants.NETTY_MESSAGE_EVENT, messageEvent); + in.setHeader(NettyConstants.NETTY_REMOTE_ADDRESS, messageEvent.getRemoteAddress()); + in.setHeader(NettyConstants.NETTY_LOCAL_ADDRESS, messageEvent.getChannel().getLocalAddress()); + // setup the SslSession header + in.setHeader(NettyConstants.NETTY_SSL_SESSION, getSSLSession(ctx)); + } } \ No newline at end of file