GH-895 Remove reflection usage form CloudEventMessageUtils
This commit is contained in:
@@ -16,10 +16,10 @@
|
|||||||
|
|
||||||
package org.springframework.cloud.function.cloudevent;
|
package org.springframework.cloud.function.cloudevent;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -34,7 +34,6 @@ import org.springframework.messaging.converter.MessageConverter;
|
|||||||
import org.springframework.messaging.support.MessageBuilder;
|
import org.springframework.messaging.support.MessageBuilder;
|
||||||
import org.springframework.util.MimeType;
|
import org.springframework.util.MimeType;
|
||||||
import org.springframework.util.MimeTypeUtils;
|
import org.springframework.util.MimeTypeUtils;
|
||||||
import org.springframework.util.ReflectionUtils;
|
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -61,12 +60,6 @@ public final class CloudEventMessageUtils {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
private static Field MESSAGE_HEADERS = ReflectionUtils.findField(MessageHeaders.class, "headers");
|
|
||||||
|
|
||||||
static {
|
|
||||||
MESSAGE_HEADERS.setAccessible(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
private CloudEventMessageUtils() {
|
private CloudEventMessageUtils() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -233,7 +226,7 @@ public final class CloudEventMessageUtils {
|
|||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
static Message<?> toCanonical(Message<?> inputMessage, MessageConverter messageConverter) {
|
static Message<?> toCanonical(Message<?> inputMessage, MessageConverter messageConverter) {
|
||||||
Map<String, Object> headers = (Map<String, Object>) ReflectionUtils.getField(MESSAGE_HEADERS, inputMessage.getHeaders());
|
Map<String, Object> headers = new HashMap<>(inputMessage.getHeaders());
|
||||||
canonicalizeHeaders(headers, false);
|
canonicalizeHeaders(headers, false);
|
||||||
if (isCloudEvent(inputMessage) && headers.containsKey("content-type")) {
|
if (isCloudEvent(inputMessage) && headers.containsKey("content-type")) {
|
||||||
inputMessage = MessageBuilder.fromMessage(inputMessage).setHeader(MessageHeaders.CONTENT_TYPE, headers.get("content-type")).build();
|
inputMessage = MessageBuilder.fromMessage(inputMessage).setHeader(MessageHeaders.CONTENT_TYPE, headers.get("content-type")).build();
|
||||||
@@ -269,7 +262,7 @@ public final class CloudEventMessageUtils {
|
|||||||
return MessageBuilder.fromMessage(inputMessage).setHeader(MessageHeaders.CONTENT_TYPE, inputContentType)
|
return MessageBuilder.fromMessage(inputMessage).setHeader(MessageHeaders.CONTENT_TYPE, inputContentType)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
return inputMessage;
|
return MessageBuilder.withPayload(inputMessage.getPayload()).copyHeaders(headers).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user