From 228f07bee719229bbd74f2261f57f5454089dab7 Mon Sep 17 00:00:00 2001 From: bvoiturier Date: Tue, 29 Oct 2024 11:26:36 +0100 Subject: [PATCH] chore: upgrade to latest Tapir version (#1417) Signed-off-by: Benjamin Voiturier --- build.sbt | 12 +++++++----- .../agent/notification/WebhookPublisher.scala | 2 +- .../hyperledger/identus/agent/server/MainApp.scala | 2 +- .../agent/server/http/CustomServerInterceptors.scala | 4 ++-- .../agent/server/http/ZHttp4sBlazeServer.scala | 4 +--- .../system/controller/SystemControllerImpl.scala | 2 +- .../controller/SystemControllerTestTools.scala | 3 +-- 7 files changed, 14 insertions(+), 15 deletions(-) diff --git a/build.sbt b/build.sbt index 0df784ff60..9307ab6f20 100644 --- a/build.sbt +++ b/build.sbt @@ -61,7 +61,7 @@ lazy val V = new { // https://mvnrepository.com/artifact/io.circe/circe-core val circe = "0.14.7" - val tapir = "1.6.4" // scala-steward:off // TODO "1.10.5" + val tapir = "1.11.7" // scala-steward:off // TODO "1.10.5" val http4sBlaze = "0.23.15" // scala-steward:off // TODO "0.23.16" val typesafeConfig = "1.4.3" @@ -90,7 +90,7 @@ lazy val V = new { // [error] org.hyperledger.identus.pollux.core.model.schema.CredentialSchemaSpec val vaultDriver = "6.2.0" - val micrometer = "1.11.11" + val micrometer = "1.13.6" val nimbusJwt = "9.37.3" val keycloak = "23.0.7" // scala-steward:off //TODO 24.0.3 // update all quay.io/keycloak/keycloak @@ -114,7 +114,10 @@ lazy val D = new { val tapirPrometheusMetrics: ModuleID = "com.softwaremill.sttp.tapir" %% "tapir-prometheus-metrics" % V.tapir val micrometer: ModuleID = "io.micrometer" % "micrometer-registry-prometheus" % V.micrometer val micrometerPrometheusRegistry = "io.micrometer" % "micrometer-core" % V.micrometer - val scalaUri = "io.lemonlabs" %% "scala-uri" % V.scalaUri + val scalaUri = Seq( + "io.lemonlabs" %% "scala-uri" % V.scalaUri exclude ("org.typelevel", "cats-parse_3"), // Exclude cats-parse to avoid deps conflict + "org.typelevel" % "cats-parse_3" % "1.0.0", // Replace with version 1.0.0 + ) val zioConfig: ModuleID = "dev.zio" %% "zio-config" % V.zioConfig val zioConfigMagnolia: ModuleID = "dev.zio" %% "zio-config-magnolia" % V.zioConfig @@ -194,13 +197,12 @@ lazy val D_Shared = new { D.zioConcurrent, D.zioHttp, D.zioKafka, - D.scalaUri, D.zioPrelude, // FIXME: split shared DB stuff as subproject? D.doobieHikari, D.doobiePostgres, D.zioCatsInterop, - ) + ) ++ D.scalaUri } lazy val D_SharedJson = new { diff --git a/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/notification/WebhookPublisher.scala b/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/notification/WebhookPublisher.scala index c4af9c4016..4c50697e03 100644 --- a/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/notification/WebhookPublisher.scala +++ b/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/notification/WebhookPublisher.scala @@ -101,7 +101,7 @@ class WebhookPublisher( _ <- ZIO.logDebug(s"Sending event: $event to HTTP webhook URL: $url.") url <- ZIO.fromEither(URL.decode(url)).orDie response <- Client - .request( + .streaming( Request( url = url, method = Method.POST, diff --git a/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/MainApp.scala b/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/MainApp.scala index 922593389a..a8f76d1656 100644 --- a/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/MainApp.scala +++ b/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/MainApp.scala @@ -1,7 +1,7 @@ package org.hyperledger.identus.agent.server import com.nimbusds.jose.crypto.bc.BouncyCastleProviderSingleton -import io.micrometer.prometheus.{PrometheusConfig, PrometheusMeterRegistry} +import io.micrometer.prometheusmetrics.{PrometheusConfig, PrometheusMeterRegistry} import org.hyperledger.identus.agent.server.config.AppConfig import org.hyperledger.identus.agent.server.http.ZioHttpClient import org.hyperledger.identus.agent.server.sql.Migrations as AgentMigrations diff --git a/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/http/CustomServerInterceptors.scala b/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/http/CustomServerInterceptors.scala index 44ffa1cea8..8da72798ec 100644 --- a/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/http/CustomServerInterceptors.scala +++ b/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/http/CustomServerInterceptors.scala @@ -66,7 +66,7 @@ object CustomServerInterceptors { ) ) - def tapirDecodeFailureHandler: DecodeFailureHandler = (ctx: DecodeFailureContext) => { + def tapirDecodeFailureHandler[F[_]]: DecodeFailureHandler[F] = DecodeFailureHandler.pure[F](ctx => { /** As per the Tapir Decode Failures documentation: * @@ -100,7 +100,7 @@ object CustomServerInterceptors { ) ) case None => None - } + }) def http4sServiceErrorHandler: ServiceErrorHandler[Task] = (req: Request[Task]) => { case t: Throwable => val res = tapirDefectHandler( diff --git a/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/http/ZHttp4sBlazeServer.scala b/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/http/ZHttp4sBlazeServer.scala index 1293185891..bb15ac4648 100644 --- a/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/http/ZHttp4sBlazeServer.scala +++ b/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/agent/server/http/ZHttp4sBlazeServer.scala @@ -3,15 +3,13 @@ package org.hyperledger.identus.agent.server.http import io.circe.* import io.circe.generic.semiauto.* import io.circe.syntax.* -import io.micrometer.prometheus.PrometheusMeterRegistry +import io.micrometer.prometheusmetrics.PrometheusMeterRegistry import org.http4s.* import org.http4s.blaze.server.BlazeServerBuilder import org.http4s.server.Router -import org.hyperledger.identus.api.http.ErrorResponse import org.hyperledger.identus.shared.crypto.Sha256Hash import org.hyperledger.identus.shared.json.Json import org.hyperledger.identus.system.controller.SystemEndpoints -import sttp.tapir.* import sttp.tapir.model.ServerRequest import sttp.tapir.server.http4s.ztapir.ZHttp4sServerInterpreter import sttp.tapir.server.http4s.Http4sServerOptions diff --git a/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/system/controller/SystemControllerImpl.scala b/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/system/controller/SystemControllerImpl.scala index 3e8850bc68..611d099dce 100644 --- a/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/system/controller/SystemControllerImpl.scala +++ b/cloud-agent/service/server/src/main/scala/org/hyperledger/identus/system/controller/SystemControllerImpl.scala @@ -1,6 +1,6 @@ package org.hyperledger.identus.system.controller -import io.micrometer.prometheus.PrometheusMeterRegistry +import io.micrometer.prometheusmetrics.PrometheusMeterRegistry import org.hyperledger.identus.agent.server.buildinfo.BuildInfo import org.hyperledger.identus.api.http.{ErrorResponse, RequestContext} import org.hyperledger.identus.system.controller.http.HealthInfo diff --git a/cloud-agent/service/server/src/test/scala/org/hyperledger/identus/system/controller/SystemControllerTestTools.scala b/cloud-agent/service/server/src/test/scala/org/hyperledger/identus/system/controller/SystemControllerTestTools.scala index 80f15ce237..f01acea610 100644 --- a/cloud-agent/service/server/src/test/scala/org/hyperledger/identus/system/controller/SystemControllerTestTools.scala +++ b/cloud-agent/service/server/src/test/scala/org/hyperledger/identus/system/controller/SystemControllerTestTools.scala @@ -1,7 +1,6 @@ package org.hyperledger.identus.system.controller -import io.micrometer.prometheus.{PrometheusConfig, PrometheusMeterRegistry} -import org.hyperledger.identus.agent.server.config.AppConfig +import io.micrometer.prometheusmetrics.{PrometheusConfig, PrometheusMeterRegistry} import org.hyperledger.identus.agent.server.http.CustomServerInterceptors import org.hyperledger.identus.agent.server.SystemModule.configLayer import org.hyperledger.identus.system.controller.http.HealthInfo