You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/07/13 09:54:37 UTC

[camel] branch master updated: Convert []byte header to string (#3994)

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

acosentino 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 0d5d68c  Convert []byte header to string (#3994)
0d5d68c is described below

commit 0d5d68c3fc34528dcb7b26c595a8f0eff590fbd3
Author: Ruben Vargas Palma <ru...@gmail.com>
AuthorDate: Mon Jul 13 04:54:16 2020 -0500

    Convert []byte header to string (#3994)
    
    Signed-off-by: Ruben <ru...@gmail.com>
---
 .../propagation/CamelMessagingHeadersExtractAdapter.java         | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/propagation/CamelMessagingHeadersExtractAdapter.java b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/propagation/CamelMessagingHeadersExtractAdapter.java
index 8426872..0f1ae09 100644
--- a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/propagation/CamelMessagingHeadersExtractAdapter.java
+++ b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/propagation/CamelMessagingHeadersExtractAdapter.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.opentracing.propagation;
 
+import java.nio.charset.StandardCharsets;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
@@ -30,7 +31,13 @@ public final class CamelMessagingHeadersExtractAdapter implements TextMap {
     public CamelMessagingHeadersExtractAdapter(final Map<String, Object> map, boolean jmsEncoding) {
         // Extract string valued map entries
         this.jmsEncoding = jmsEncoding;
-        map.entrySet().stream().filter(e -> e.getValue() instanceof String).forEach(e -> this.map.put(decodeDash(e.getKey()), (String)e.getValue()));
+        map.entrySet().stream().filter(e -> e.getValue() instanceof String || e.getValue() instanceof byte[]).forEach(e -> {
+            if (e.getValue() instanceof byte[]) {
+                this.map.put(decodeDash(e.getKey()), new String((byte[])e.getValue(), StandardCharsets.UTF_8));
+            } else {
+                this.map.put(decodeDash(e.getKey()), (String)e.getValue());
+            }
+        });
     }
 
     @Override