/** * Returns a mutable builder with a fluent API for building an immutable {@code Message}. * * @param messageHeaders the headers of the message to be built. * @param <T> the type of the Message's payload. * @return the new builder. * @throws NullPointerException if {@code messageHeaders} is {@code null}. */ static <T> MessageBuilder<T> newBuilder(final MessageHeaders messageHeaders) { return MessagesModelFactory.newMessageBuilder(messageHeaders); }
private static MessageBuilder<Object> initMessageBuilder(final ByteBuffer payload, final ContentType contentType, final MessageHeaders headers) { // reset bytebuffer offset, otherwise payload will not be appended final ByteBuffer payloadWithoutOffset = ByteBuffer.wrap(payload.array()); final MessageBuilder<Object> messageBuilder = MessagesModelFactory.newMessageBuilder(headers) .rawPayload(payloadWithoutOffset); final Charset charset = contentType.getCharsetOption() .map(HttpCharset::nioCharset) .orElse(StandardCharsets.UTF_8); final String payloadString = charset.decode(payload).toString(); if (contentType.mediaType().isText()) { messageBuilder.payload(payloadString); } else if (ContentTypes.APPLICATION_JSON.equals(contentType)) { messageBuilder.payload(JsonFactory.readFrom(payloadString)); } return messageBuilder; }
final Charset charset = shouldBeInterpretedAsText ? determineCharset(contentType) : StandardCharsets.UTF_8; final MessageBuilder<T> messageBuilder = MessagesModelFactory.newMessageBuilder(messageHeaders); final Optional<JsonValue> value = adaptable.getPayload().getValue(); if (shouldBeInterpretedAsText) {
final Charset charset = shouldBeInterpretedAsText ? determineCharset(contentType) : StandardCharsets.UTF_8; final MessageBuilder<T> messageBuilder = MessagesModelFactory.newMessageBuilder(messageHeaders); final Optional<JsonValue> value = adaptable.getPayload().getValue(); if (shouldBeInterpretedAsText) {