private static String extractPayloadAsString(final ExternalMessage message) { final Optional<String> payload; if (message.isTextMessage()) { payload = message.getTextPayload(); } else if (message.isBytesMessage()) { final Charset charset = Optional.ofNullable(message.getHeaders() .get(ExternalMessage.CONTENT_TYPE_HEADER)) .map(MessageMappers::determineCharset) .orElse(StandardCharsets.UTF_8); payload = message.getBytePayload().map(charset::decode).map(CharBuffer::toString); } else { payload = Optional.empty(); } return payload.filter(s -> !s.isEmpty()).orElseThrow(() -> MessageMappingFailedException.newBuilder(message.findContentType().orElse("")) .description( "As payload was absent or empty, please make sure to send payload in your messages.") .dittoHeaders(DittoHeaders.of((message.getHeaders()))) .build()); }
private static String extractPayloadAsString(final ExternalMessage message) { final Optional<String> payload; if (message.isTextMessage()) { payload = message.getTextPayload(); } else if (message.isBytesMessage()) { final Charset charset = Optional.ofNullable(message.getHeaders() .get(ExternalMessage.CONTENT_TYPE_HEADER)) .map(MessageMappers::determineCharset) .orElse(StandardCharsets.UTF_8); payload = message.getBytePayload().map(charset::decode).map(CharBuffer::toString); } else { payload = Optional.empty(); } return payload.filter(s -> !s.isEmpty()).orElseThrow(() -> MessageMappingFailedException.newBuilder(message.findContentType().orElse("")) .description( "As payload was absent or empty, please make sure to send payload in your messages.") .dittoHeaders(DittoHeaders.of((message.getHeaders()))) .build()); }
private MqttMessage mapExternalMessageToMqttMessage( final MqttPublishTarget mqttTarget, final MqttQoS qos, final ExternalMessage externalMessage) { final ByteString payload; if (externalMessage.isTextMessage()) { final Charset charset = externalMessage.findContentType() .map(MessageMappers::determineCharset) .orElse(StandardCharsets.UTF_8); payload = externalMessage .getTextPayload() .map(text -> ByteString.fromString(text, charset)) .orElse(ByteString.empty()); } else if (externalMessage.isBytesMessage()) { payload = externalMessage.getBytePayload() .map(ByteString::fromByteBuffer) .orElse(ByteString.empty()); } else { payload = ByteString.empty(); } return MqttMessage.create(mqttTarget.getTopic(), payload, qos); }
private MqttMessage mapExternalMessageToMqttMessage( final MqttPublishTarget mqttTarget, final MqttQoS qos, final ExternalMessage externalMessage) { final ByteString payload; if (externalMessage.isTextMessage()) { final Charset charset = externalMessage.findContentType() .map(MessageMappers::determineCharset) .orElse(StandardCharsets.UTF_8); payload = externalMessage .getTextPayload() .map(text -> ByteString.fromString(text, charset)) .orElse(ByteString.empty()); } else if (externalMessage.isBytesMessage()) { payload = externalMessage.getBytePayload() .map(ByteString::fromByteBuffer) .orElse(ByteString.empty()); } else { payload = ByteString.empty(); } return MqttMessage.create(mqttTarget.getTopic(), payload, qos); }
if (message.isTextMessage()) { body = message.getTextPayload() .map(text -> text.getBytes(MessageMappers.determineCharset(contentType)))
if (message.isTextMessage()) { body = message.getTextPayload() .map(text -> text.getBytes(MessageMappers.determineCharset(contentType)))