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

fjtiradosarti pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git


The following commit(s) were added to refs/heads/main by this push:
     new eec6164602 Fixing ce content type when using binary (#3391)
eec6164602 is described below

commit eec6164602941092376ae1a07d4af3aeda0e01c5
Author: Francisco Javier Tirado Sarti 
<[email protected]>
AuthorDate: Mon Feb 5 18:13:39 2024 +0100

    Fixing ce content type when using binary (#3391)
---
 .../messaging/http/CloudEventHttpOutgoingDecorator.java        | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/quarkus/addons/common/reactive-messaging/src/main/java/org/kie/kogito/addon/quarkus/common/reactive/messaging/http/CloudEventHttpOutgoingDecorator.java
 
b/quarkus/addons/common/reactive-messaging/src/main/java/org/kie/kogito/addon/quarkus/common/reactive/messaging/http/CloudEventHttpOutgoingDecorator.java
index 2aed174548..2e068729f4 100644
--- 
a/quarkus/addons/common/reactive-messaging/src/main/java/org/kie/kogito/addon/quarkus/common/reactive/messaging/http/CloudEventHttpOutgoingDecorator.java
+++ 
b/quarkus/addons/common/reactive-messaging/src/main/java/org/kie/kogito/addon/quarkus/common/reactive/messaging/http/CloudEventHttpOutgoingDecorator.java
@@ -22,8 +22,10 @@ import org.eclipse.microprofile.reactive.messaging.Message;
 import org.kie.kogito.addon.quarkus.common.reactive.messaging.MessageDecorator;
 
 import io.quarkus.reactivemessaging.http.runtime.OutgoingHttpMetadata;
+import io.smallrye.reactive.messaging.ce.OutgoingCloudEventMetadata;
 
 import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
 
 /**
  * Decorators for Http CloudEvents outgoing messages
@@ -40,6 +42,12 @@ public class CloudEventHttpOutgoingDecorator implements 
MessageDecorator {
     static final OutgoingHttpMetadata HTTP_RESPONSE_METADATA =
             new 
OutgoingHttpMetadata.Builder().addHeader(HttpHeaders.CONTENT_TYPE, 
CLOUD_EVENTS_CONTENT_TYPE).build();
 
+    /**
+     * Metadata to include content-type for binary CloudEvents messages
+     */
+    private static final OutgoingHttpMetadata HTTP_BINARY_RESPONSE_METADATA =
+            new 
OutgoingHttpMetadata.Builder().addHeader(HttpHeaders.CONTENT_TYPE, 
MediaType.APPLICATION_JSON).build();
+
     /**
      * Decorates a given payload with custom metadata needed by Http Outgoing 
processing
      *
@@ -48,6 +56,6 @@ public class CloudEventHttpOutgoingDecorator implements 
MessageDecorator {
      */
     @Override
     public <T> Message<T> decorate(Message<T> message) {
-        return message.addMetadata(HTTP_RESPONSE_METADATA);
+        return message.getMetadata(OutgoingCloudEventMetadata.class).isEmpty() 
? message.addMetadata(HTTP_RESPONSE_METADATA) : 
message.addMetadata(HTTP_BINARY_RESPONSE_METADATA);
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to