This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit c3031a78b63442cce4cff0b5224b016872d5aa56 Author: Benoit Tellier <[email protected]> AuthorDate: Sun May 16 14:09:07 2021 +0700 [PERFORMANCE] MessageViewFactory::toHeaderMap was unfolding headers twice Field::getBody already perform the operation hence there is no need for it. Async-profiler indicates we spend 0.2% of the CPU needlessly that way... Minor but always good to take! --- .../james/jmap/draft/model/message/view/MessageViewFactory.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/message/view/MessageViewFactory.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/message/view/MessageViewFactory.java index a62fe02..d0c3e78 100644 --- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/message/view/MessageViewFactory.java +++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/model/message/view/MessageViewFactory.java @@ -39,10 +39,11 @@ import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MessageId; import org.apache.james.mailbox.model.MessageResult; +import org.apache.james.mime4j.codec.DecodeMonitor; +import org.apache.james.mime4j.codec.DecoderUtil; import org.apache.james.mime4j.dom.Message; import org.apache.james.mime4j.stream.Field; import org.apache.james.mime4j.stream.MimeConfig; -import org.apache.james.mime4j.util.MimeUtil; import org.apache.james.util.ReactorUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -111,7 +112,7 @@ public interface MessageViewFactory<T extends MessageView> { Function<Map.Entry<String, Collection<Field>>, String> bodyConcatenator = fieldListEntry -> fieldListEntry.getValue() .stream() .map(Field::getBody) - .map(MimeUtil::unscrambleHeaderValue) + .map(body -> DecoderUtil.decodeEncodedWords(body, DecodeMonitor.SILENT)) .collect(Collectors.toList()) .stream() .collect(Collectors.joining(JMAP_MULTIVALUED_FIELD_DELIMITER)); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
