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)) {
|
||||
Type requestedType = FunctionTypeUtils.getGenericType(targetType.getType());
|
||||
Object payload;
|
||||
if (String.class.isAssignableFrom(FunctionTypeUtils.getRawType(targetType.getType()))
|
||||
|| byte[].class.isAssignableFrom(FunctionTypeUtils.getRawType(targetType.getType()))) {
|
||||
if (String.class.isAssignableFrom(FunctionTypeUtils.getRawType(targetType.getType()))) {
|
||||
Object rawPayload = messageMap.get(FunctionRSocketUtils.PAYLOAD);
|
||||
if (rawPayload instanceof byte[]) {
|
||||
payload = new String((byte[]) rawPayload, StandardCharsets.UTF_8);
|
||||
@@ -83,9 +82,31 @@ class MessageAwareJsonDecoder extends AbstractDecoder<Object> {
|
||||
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 {
|
||||
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())) {
|
||||
return MessageBuilder.withPayload(payload).copyHeaders(
|
||||
|
||||
Reference in New Issue
Block a user