From e50a84d17396a9566f92d7aef471131c89cdfd0a Mon Sep 17 00:00:00 2001 From: Kalin-Rudnicki Date: Mon, 6 Oct 2025 08:28:59 -0600 Subject: [PATCH] Added ZClient.requiringConfig, which has consistent types across platforms --- .../src/main/scala/zio/http/ZClientPlatformSpecific.scala | 5 ++++- .../src/main/scala/zio/http/ZClientPlatformSpecific.scala | 8 ++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/zio-http/js/src/main/scala/zio/http/ZClientPlatformSpecific.scala b/zio-http/js/src/main/scala/zio/http/ZClientPlatformSpecific.scala index 1d97dc0b82..85b4f702ab 100644 --- a/zio-http/js/src/main/scala/zio/http/ZClientPlatformSpecific.scala +++ b/zio-http/js/src/main/scala/zio/http/ZClientPlatformSpecific.scala @@ -7,6 +7,9 @@ import zio.http.internal.FetchDriver trait ZClientPlatformSpecific { + def requiringConfig: ZLayer[ZClient.Config, Throwable, Client] = + live + def customized: ZLayer[Config with ZClient.Driver[Any, Scope, Throwable], Throwable, Client] = { implicit val trace: Trace = Trace.empty ZLayer.scoped { @@ -35,7 +38,7 @@ trait ZClientPlatformSpecific { def default: ZLayer[Any, Throwable, Client] = { implicit val trace: Trace = Trace.empty - ZLayer.succeed(Config.default) >>> live + ZLayer.succeed(Config.default) >>> requiringConfig } } diff --git a/zio-http/jvm/src/main/scala/zio/http/ZClientPlatformSpecific.scala b/zio-http/jvm/src/main/scala/zio/http/ZClientPlatformSpecific.scala index 92e1a49588..cfb5cf1f50 100644 --- a/zio-http/jvm/src/main/scala/zio/http/ZClientPlatformSpecific.scala +++ b/zio-http/jvm/src/main/scala/zio/http/ZClientPlatformSpecific.scala @@ -8,6 +8,11 @@ import zio.http.netty.client.NettyClientDriver trait ZClientPlatformSpecific { + def requiringConfig: ZLayer[ZClient.Config, Throwable, Client] = { + implicit val trace: Trace = Trace.empty + (ZLayer.succeed(NettyConfig.defaultWithFastShutdown) ++ DnsResolver.default) >>> live + } + def customized: ZLayer[Config with ClientDriver with DnsResolver, Throwable, Client] = { implicit val trace: Trace = Trace.empty ZLayer.scoped { @@ -41,8 +46,7 @@ trait ZClientPlatformSpecific { def default: ZLayer[Any, Throwable, Client] = { implicit val trace: Trace = Trace.empty - (ZLayer.succeed(Config.default) ++ ZLayer.succeed(NettyConfig.defaultWithFastShutdown) ++ - DnsResolver.default) >>> live + ZLayer.succeed(Config.default) >>> requiringConfig } }