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) {

Reply via email to