diff --git a/packages/effect-docker/src/Docker153Client.ts b/packages/effect-docker/src/Docker153Client.ts index bb6d4dd..b6eaee3 100644 --- a/packages/effect-docker/src/Docker153Client.ts +++ b/packages/effect-docker/src/Docker153Client.ts @@ -1,6 +1,6 @@ -import { HttpClient, HttpClientRequest } from "@effect/platform" +import { HttpClient, HttpClientRequest, Url } from "@effect/platform" import type { ResponseError } from "@effect/platform/HttpClientError" -import { Effect } from "effect" +import { Effect, Either, flow, Option } from "effect" import { type DockerBaseClient, DockerBaseClientImpl, type DockerClientError } from "./DockerBaseClient.js" import type { ContainerSummary } from "./gen/v1.53/index.js" @@ -47,6 +47,11 @@ implements Docker153Client { } export const make: Effect.Effect = HttpClient.HttpClient.pipe( - Effect.map(HttpClient.mapRequest(HttpClientRequest.appendUrl("/v1.53"))), + Effect.map(HttpClient.mapRequest(HttpClientRequest.updateUrl(flow( + Url.fromString, + Either.getRight, + Option.getOrThrow, + url => Url.setPathname(url, `/v1.53${ url.pathname }`).toString(), + )))), Effect.map(client => new Docker153ClientImpl(client)), )