From 94089fd0b658694202e9b55c7b45e36856e8146d Mon Sep 17 00:00:00 2001 From: Eike Kettner Date: Wed, 15 Jul 2020 20:45:07 +0200 Subject: [PATCH] Fix decoding joex responses in JoexClient --- .../scala/docspell/joexapi/client/JoexClient.scala | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/modules/joexapi/src/main/scala/docspell/joexapi/client/JoexClient.scala b/modules/joexapi/src/main/scala/docspell/joexapi/client/JoexClient.scala index 6cf72b74..69e7e87a 100644 --- a/modules/joexapi/src/main/scala/docspell/joexapi/client/JoexClient.scala +++ b/modules/joexapi/src/main/scala/docspell/joexapi/client/JoexClient.scala @@ -17,7 +17,7 @@ import org.log4s.getLogger trait JoexClient[F[_]] { - def notifyJoex(base: LenientUri): F[Unit] + def notifyJoex(base: LenientUri): F[BasicResult] def notifyJoexIgnoreErrors(base: LenientUri): F[Unit] @@ -31,21 +31,25 @@ object JoexClient { def apply[F[_]: Sync](client: Client[F]): JoexClient[F] = new JoexClient[F] { - def notifyJoex(base: LenientUri): F[Unit] = { + def notifyJoex(base: LenientUri): F[BasicResult] = { val notifyUrl = base / "api" / "v1" / "notify" val req = Request[F](Method.POST, uri(notifyUrl)) logger.fdebug(s"Notify joex at ${notifyUrl.asString}") *> - client.expect[String](req).map(_ => ()) + client.expect[BasicResult](req) } def notifyJoexIgnoreErrors(base: LenientUri): F[Unit] = notifyJoex(base).attempt.map { - case Right(()) => () + case Right(BasicResult(succ, msg)) => + if (succ) () + else + logger.warn( + s"Notifying Joex instance '${base.asString}' returned with failure: ${msg}" + ) case Left(ex) => logger.warn( s"Notifying Joex instance '${base.asString}' failed: ${ex.getMessage}" ) - () } def cancelJob(base: LenientUri, job: Ident): F[BasicResult] = {