[REFECTORING] Remove an uneeded Flux.defer call
diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/JMAPApiRoutes.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/JMAPApiRoutes.scala
index da67b15..c9b5618 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/JMAPApiRoutes.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/JMAPApiRoutes.scala
@@ -145,8 +145,8 @@
.collectSeq())
}
- private def process(capabilities: Set[CapabilityIdentifier], mailboxSession: MailboxSession, invocation: InvocationWithContext) : SFlux[InvocationWithContext] = {
- SFlux.fromPublisher(Flux.defer(() => {
+ private def process(capabilities: Set[CapabilityIdentifier], mailboxSession: MailboxSession, invocation: InvocationWithContext) : SFlux[InvocationWithContext] =
+ SFlux.fromPublisher(
invocation.processingContext.resolveBackReferences(invocation.invocation) match {
case Left(e) => SFlux.just[InvocationWithContext](InvocationWithContext(Invocation.error(
errorCode = ErrorCode.InvalidResultReference,
@@ -154,9 +154,7 @@
methodCallId = invocation.invocation.methodCallId), invocation.processingContext))
case Right(resolvedInvocation) => processMethodWithMatchName(capabilities, InvocationWithContext(resolvedInvocation, invocation.processingContext), mailboxSession)
.map(_.recordInvocation)
- }
- }))
- }
+ })
private def processMethodWithMatchName(capabilities: Set[CapabilityIdentifier], invocation: InvocationWithContext, mailboxSession: MailboxSession): SFlux[InvocationWithContext] =
methodsByName.get(invocation.invocation.methodName)