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 6d0380b CAMEL-16199: camel-http - Optimize headers added as request headers in producer 6d0380b is described below commit 6d0380b31d061fb1760da6b467b4ba155cef6332 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Mon Feb 15 18:46:30 2021 +0100 CAMEL-16199: camel-http - Optimize headers added as request headers in producer --- .../main/java/org/apache/camel/component/http/HttpProducer.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 2b954d1..04c33a6 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 @@ -55,6 +55,7 @@ import org.apache.camel.support.SynchronizationAdapter; import org.apache.camel.util.IOHelper; import org.apache.camel.util.URISupport; import org.apache.http.Header; +import org.apache.http.HeaderIterator; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpVersion; @@ -295,9 +296,12 @@ public class HttpProducer extends DefaultProducer { if (getEndpoint().getCookieHandler() != null) { cookieHeaders = new HashMap<>(); } - Header[] headers = httpResponse.getAllHeaders(); + + // optimize to walk headers with an iterator which does not create a new array as getAllHeaders does boolean found = false; - for (Header header : headers) { + HeaderIterator it = httpResponse.headerIterator(); + while (it.hasNext()) { + Header header = it.nextHeader(); String name = header.getName(); String value = header.getValue(); if (cookieHeaders != null) {