This is an automated email from the ASF dual-hosted git repository.

ffang pushed a commit to branch camel-4.0.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-4.0.x by this push:
     new 10fb2b6264b [CAMEL-19843]address similar issue for cxf rest producer
10fb2b6264b is described below

commit 10fb2b6264bcacd7b8971e255297a5fa0d457c77
Author: Freeman Fang <freeman.f...@gmail.com>
AuthorDate: Thu Sep 21 19:41:39 2023 -0400

    [CAMEL-19843]address similar issue for cxf rest producer
    
    (cherry picked from commit 805e1db89bfaaf6d0a9eaf11f52433546acc1f40)
---
 .../apache/camel/component/cxf/common/header/CxfHeaderHelper.java   | 6 ++++--
 .../org/apache/camel/component/cxf/jaxrs/DefaultCxfRsBinding.java   | 3 +++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java
 
b/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java
index 48ecf0a01bd..7bbfa5e68ee 100644
--- 
a/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java
+++ 
b/components/camel-cxf/camel-cxf-common/src/main/java/org/apache/camel/component/cxf/common/header/CxfHeaderHelper.java
@@ -190,8 +190,10 @@ public final class CxfHeaderHelper {
             String camelHeaderName = 
CXF_TO_CAMEL_HEADERS.getOrDefault(entry.getKey(), entry.getKey());
 
             LOG.trace("Populate external header: {}={} as {}", entry.getKey(), 
entry.getValue(), camelHeaderName);
-
-            camelHeaders.put(camelHeaderName, entry.getValue().get(0));
+            if (!camelHeaderName.startsWith(":")) {
+                ///* Ignore HTTP/2 pseudo headers such as :status */
+                camelHeaders.put(camelHeaderName, entry.getValue().get(0));
+            }
         });
     }
 
diff --git 
a/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/DefaultCxfRsBinding.java
 
b/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/DefaultCxfRsBinding.java
index 9a1c150ba7a..0bdd37832d5 100644
--- 
a/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/DefaultCxfRsBinding.java
+++ 
b/components/camel-cxf/camel-cxf-rest/src/main/java/org/apache/camel/component/cxf/jaxrs/DefaultCxfRsBinding.java
@@ -312,6 +312,9 @@ public class DefaultCxfRsBinding implements CxfRsBinding, 
HeaderFilterStrategyAw
             if 
(headerFilterStrategy.applyFilterToExternalHeaders(entry.getKey(), 
entry.getValue(), camelExchange)
                     || entry.getValue().isEmpty()) {
                 LOG.trace("Drop CXF message protocol header: {}={}", 
entry.getKey(), entry.getValue());
+            } else if (entry.getKey().startsWith(":")) {
+                /* Ignore HTTP/2 pseudo headers such as :status */
+                continue;
             } else {
                 // just put the first String element, as the complex one is 
filtered
                 camelMessage.setHeader(entry.getKey(), 
entry.getValue().get(0));

Reply via email to