Fix previous commit's byte[] handling
This commit is contained in:
@@ -73,8 +73,7 @@ class MessageAwareJsonDecoder extends AbstractDecoder<Object> {
|
|||||||
if (messageMap.containsKey(FunctionRSocketUtils.PAYLOAD)) {
|
if (messageMap.containsKey(FunctionRSocketUtils.PAYLOAD)) {
|
||||||
Type requestedType = FunctionTypeUtils.getGenericType(targetType.getType());
|
Type requestedType = FunctionTypeUtils.getGenericType(targetType.getType());
|
||||||
Object payload;
|
Object payload;
|
||||||
if (String.class.isAssignableFrom(FunctionTypeUtils.getRawType(targetType.getType()))
|
if (String.class.isAssignableFrom(FunctionTypeUtils.getRawType(targetType.getType()))) {
|
||||||
|| byte[].class.isAssignableFrom(FunctionTypeUtils.getRawType(targetType.getType()))) {
|
|
||||||
Object rawPayload = messageMap.get(FunctionRSocketUtils.PAYLOAD);
|
Object rawPayload = messageMap.get(FunctionRSocketUtils.PAYLOAD);
|
||||||
if (rawPayload instanceof byte[]) {
|
if (rawPayload instanceof byte[]) {
|
||||||
payload = new String((byte[]) rawPayload, StandardCharsets.UTF_8);
|
payload = new String((byte[]) rawPayload, StandardCharsets.UTF_8);
|
||||||
@@ -83,9 +82,31 @@ class MessageAwareJsonDecoder extends AbstractDecoder<Object> {
|
|||||||
payload = rawPayload;
|
payload = rawPayload;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (byte[].class.isAssignableFrom(FunctionTypeUtils.getRawType(targetType.getType()))) {
|
||||||
|
Object rawPayload = messageMap.get(FunctionRSocketUtils.PAYLOAD);
|
||||||
|
if (rawPayload instanceof String) {
|
||||||
|
payload = ((String) rawPayload).getBytes(StandardCharsets.UTF_8);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
payload = rawPayload;
|
||||||
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
payload = this.jsonMapper.fromJson(messageMap.get(FunctionRSocketUtils.PAYLOAD), requestedType);
|
payload = this.jsonMapper.fromJson(messageMap.get(FunctionRSocketUtils.PAYLOAD), requestedType);
|
||||||
}
|
}
|
||||||
|
// if (String.class.isAssignableFrom(FunctionTypeUtils.getRawType(targetType.getType()))
|
||||||
|
// || byte[].class.isAssignableFrom(FunctionTypeUtils.getRawType(targetType.getType()))) {
|
||||||
|
// Object rawPayload = messageMap.get(FunctionRSocketUtils.PAYLOAD);
|
||||||
|
// if (rawPayload instanceof byte[]) {
|
||||||
|
// payload = new String((byte[]) rawPayload, StandardCharsets.UTF_8);
|
||||||
|
// }
|
||||||
|
// else {
|
||||||
|
// payload = rawPayload;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else {
|
||||||
|
// payload = this.jsonMapper.fromJson(messageMap.get(FunctionRSocketUtils.PAYLOAD), requestedType);
|
||||||
|
// }
|
||||||
|
|
||||||
if (FunctionTypeUtils.isMessage(targetType.getType())) {
|
if (FunctionTypeUtils.isMessage(targetType.getType())) {
|
||||||
return MessageBuilder.withPayload(payload).copyHeaders(
|
return MessageBuilder.withPayload(payload).copyHeaders(
|
||||||
|
|||||||
Reference in New Issue
Block a user