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 869b1979917f9116c856787039cfc4132457aea2 Author: Benoit Tellier <[email protected]> AuthorDate: Mon Oct 18 21:37:02 2021 +0700 JAMES-3516 Fix Thread/get error management Unexpected errors should not be reported as `notFound` but should lead to a top level method failure (`serverFail`) --- .../main/scala/org/apache/james/jmap/method/ThreadGetMethod.scala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/ThreadGetMethod.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/ThreadGetMethod.scala index 8496d9f..13ea9d3 100644 --- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/ThreadGetMethod.scala +++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/ThreadGetMethod.scala @@ -27,6 +27,7 @@ import org.apache.james.jmap.core.{AccountId, Invocation, UuidState} import org.apache.james.jmap.json.{ResponseSerializer, ThreadSerializer} import org.apache.james.jmap.mail.{Thread, ThreadGetRequest, ThreadGetResponse, ThreadNotFound, UnparsedThreadId} import org.apache.james.jmap.routes.SessionSupplier +import org.apache.james.mailbox.exception.ThreadNotFoundException import org.apache.james.mailbox.model.{ThreadId => JavaThreadId} import org.apache.james.mailbox.{MailboxManager, MailboxSession} import org.apache.james.metrics.api.MetricFactory @@ -92,6 +93,9 @@ class ThreadGetMethod @Inject()(val metricFactory: MetricFactory, .collectSeq() .map(seq => Thread(id = unparsedThreadId.id, emailIds = seq.toList)) .map(ThreadGetResult.found) - .onErrorResume((_ => SMono.just(ThreadGetResult.notFound(unparsedThreadId))))) + .onErrorResume({ + case _: ThreadNotFoundException => SMono.just(ThreadGetResult.notFound(unparsedThreadId)) + case e => SMono.error(e) + })) }) } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
