This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push: new 63533c6 CAMEL-16199: camel-http - Optimize headers added as request headers in producer 63533c6 is described below commit 63533c615a43340df2b43acdb8e114dc60189c97 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Sun Feb 14 13:05:06 2021 +0100 CAMEL-16199: camel-http - Optimize headers added as request headers in producer --- .../java/org/apache/camel/component/http/HttpProducer.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java index 93fb10f..f4a7989 100644 --- a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java +++ b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java @@ -133,9 +133,19 @@ public class HttpProducer extends DefaultProducer { final TypeConverter tc = exchange.getContext().getTypeConverter(); for (Map.Entry<String, Object> entry : in.getHeaders().entrySet()) { String key = entry.getKey(); - Object headerValue = in.getHeader(key); + Object headerValue = entry.getValue(); if (headerValue != null) { + + if (headerValue instanceof String) { + // optimise for string values + String value = (String) headerValue; + if (strategy == null || !strategy.applyFilterToCamelHeaders(key, value, exchange)) { + httpRequest.addHeader(key, value); + } + continue; + } + // use an iterator as there can be multiple values. (must not use a delimiter, and allow empty values) final Iterator<?> it = ObjectHelper.createIterator(headerValue, null, true);