authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-06-19 20:07:29-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-06-19 20:07:29-07:00
log3b56dc17a5550de0f3ffd376ed2785cc12fbb96b
tree09885e2d135a5b7d8cc231d9efb23cdc9e8c5c89
parentd2c0a6a48f50f319815a8cf5501f9e2e9b8ca617
signature Signed by PGP key B5690EEEBB952194

[codex] Refactor primary HTTP Effect service (#3205)

Co-authored-by: codex <codex@users.noreply.github.com>

2 files changed, 11 insertions(+), 16 deletions(-)

apps/web/src/environments/primary/httpClient.ts+5-8
......@@ -5,16 +5,13 @@ import * as Layer from "effect/Layer";
55
66import { resolvePrimaryEnvironmentHttpUrl } from "./target";
77
8export type PrimaryEnvironmentHttpClientShape = Effect.Success<
9 ReturnType<typeof makeEnvironmentHttpApiClient>
10>;
11
128export class PrimaryEnvironmentHttpClient extends Context.Service<
139 PrimaryEnvironmentHttpClient,
14 PrimaryEnvironmentHttpClientShape
10 Effect.Success<ReturnType<typeof makeEnvironmentHttpApiClient>>
1511>()("@t3tools/web/environments/primary/httpClient/PrimaryEnvironmentHttpClient") {}
1612
17export const primaryEnvironmentHttpClientLive = Layer.effect(
18 PrimaryEnvironmentHttpClient,
19 Effect.suspend(() => makeEnvironmentHttpApiClient(resolvePrimaryEnvironmentHttpUrl("/"))),
13const make = Effect.suspend(() =>
14 makeEnvironmentHttpApiClient(resolvePrimaryEnvironmentHttpUrl("/")),
2015);
16
17export const layer = Layer.effect(PrimaryEnvironmentHttpClient, make);
apps/web/src/lib/runtime.ts+6-8
......@@ -5,10 +5,7 @@ import * as Socket from "effect/unstable/socket/Socket";
55
66import { remoteHttpClientLayer } from "@t3tools/client-runtime/rpc";
77import { makeRelayClientTracingLayer } from "@t3tools/shared/relayTracing";
8import {
9 PrimaryEnvironmentHttpClient,
10 primaryEnvironmentHttpClientLive,
11} from "../environments/primary/httpClient";
8import * as PrimaryEnvironmentHttpClient from "../environments/primary/httpClient";
129import { primaryEnvironmentHttpLayer } from "../environments/primary/httpLayer";
1310
1411import { browserCryptoLayer } from "../cloud/dpop";
......@@ -30,11 +27,11 @@ const relayTracingLayer = makeRelayClientTracingLayer(resolveRelayTracingConfig(
3027export const remoteHttpRuntime = ManagedRuntime.make(httpClientLayer);
3128
3229const primaryHttpRuntime = ManagedRuntime.make(
33 primaryEnvironmentHttpClientLive.pipe(Layer.provide(primaryEnvironmentHttpLayer)),
30 PrimaryEnvironmentHttpClient.layer.pipe(Layer.provide(primaryEnvironmentHttpLayer)),
3431);
3532
3633export type PrimaryHttpEffectRunner = <A, E>(
37 effect: Effect.Effect<A, E, PrimaryEnvironmentHttpClient>,
34 effect: Effect.Effect<A, E, PrimaryEnvironmentHttpClient.PrimaryEnvironmentHttpClient>,
3835) => Promise<A>;
3936
4037const livePrimaryHttpRunner: PrimaryHttpEffectRunner = (effect) =>
......@@ -42,8 +39,9 @@ const livePrimaryHttpRunner: PrimaryHttpEffectRunner = (effect) =>
4239
4340let primaryHttpRunner = livePrimaryHttpRunner;
4441
45export const runPrimaryHttp = <A, E>(effect: Effect.Effect<A, E, PrimaryEnvironmentHttpClient>) =>
46 primaryHttpRunner(effect);
42export const runPrimaryHttp = <A, E>(
43 effect: Effect.Effect<A, E, PrimaryEnvironmentHttpClient.PrimaryEnvironmentHttpClient>,
44) => primaryHttpRunner(effect);
4745
4846export function __setPrimaryHttpRunnerForTests(runner?: PrimaryHttpEffectRunner): void {
4947 primaryHttpRunner = runner ?? livePrimaryHttpRunner;