diff --git a/gateway/src/main/scala/talos/gateway/EndpointResolver.scala b/gateway/src/main/scala/talos/gateway/EndpointResolver.scala index c2dd201..4e6e34b 100644 --- a/gateway/src/main/scala/talos/gateway/EndpointResolver.scala +++ b/gateway/src/main/scala/talos/gateway/EndpointResolver.scala @@ -11,7 +11,7 @@ object EndpointResolver { def transformRequest(request: HttpRequest, hitEndpoint: HitEndpoint): IO[HttpRequest] = IO { request - .copy(uri = request.uri.withHost(hitEndpoint.service).withPath(Path(hitEndpoint.targetPath)) + .withUri(uri = request.uri.withHost(hitEndpoint.service).withPath(Path(hitEndpoint.targetPath)) .withPort(hitEndpoint.port)).withHeaders(request.headers.filterNot(_.name == "Timeout-Access")) } diff --git a/gateway/src/main/scala/talos/gateway/ExecutionApi.scala b/gateway/src/main/scala/talos/gateway/ExecutionApi.scala index 3df0860..096b2d4 100644 --- a/gateway/src/main/scala/talos/gateway/ExecutionApi.scala +++ b/gateway/src/main/scala/talos/gateway/ExecutionApi.scala @@ -66,7 +66,7 @@ object ExecutionApi { private def hostConnectionPoolConfig(maxInflightRequests: Int)(implicit actorSystem: ActorSystem[_]): ConnectionPoolSettings = - ConnectionPoolSettings.default(actorSystem.toClassic) + ConnectionPoolSettings.default(actorSystem) .withMinConnections(1 + maxInflightRequests / 4) .withMaxConnections(maxInflightRequests) .withMaxOpenRequests(maxInflightRequests * 4) @@ -90,8 +90,6 @@ object ExecutionApi { val fromServices = gatewayConfig.services.map { service => - implicit val classicSystem = actorSystem.toClassic - val poolClientFlow = Http().cachedHostConnectionPool[Promise[HttpResponse]]( service.host, service.port, diff --git a/gateway/src/main/scala/talos/gateway/GatewayServer.scala b/gateway/src/main/scala/talos/gateway/GatewayServer.scala index bef90e1..10e8c5e 100644 --- a/gateway/src/main/scala/talos/gateway/GatewayServer.scala +++ b/gateway/src/main/scala/talos/gateway/GatewayServer.scala @@ -1,9 +1,7 @@ package talos.gateway import akka.actor.typed.scaladsl.ActorContext -import akka.actor.typed.scaladsl.adapter._ import akka.http.scaladsl.Http -import akka.stream.Materializer import kamon.Kamon import talos.gateway.config.GatewayConfig @@ -15,13 +13,12 @@ class GatewayServer private(gatewayConfig: GatewayConfig)(implicit actorContext: private[gateway] val start: Future[Http.ServerBinding] = { val gateway = Gateway(gatewayConfig)(actorContext) - implicit val materializer = Materializer(actorContext) import scala.concurrent.ExecutionContext.Implicits._ - implicit val actorSystem = actorContext.system.toClassic + implicit val actorSystem = actorContext.system for { - serverBinding <- Http().bindAndHandle(gateway.route, gatewayConfig.interface, gatewayConfig.port) + serverBinding <- Http().newServerAt(gatewayConfig.interface, gatewayConfig.port).bind(gateway.route) } yield serverBinding } diff --git a/project/Dependencies.scala b/project/Dependencies.scala index e13fb63..04b226a 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -15,7 +15,7 @@ object Dependencies { val circe = "0.13.0" val kamon = "2.1.4" val scalatest = "3.0.8" - val akkaHttp = "10.1.12" + val akkaHttp = "10.2.0" val monix = "3.2.2" val gatling = "3.1.0" val wiremock = "2.27.1"