Skip to content
Source
Sign inSign up
Open History to see the last commit

relayEnvironmentClient.ts

17 lines735 Bytes

1import { RelayApi } from "@t3tools/contracts/relay";
2import * as Effect from "effect/Effect";
3import * as FetchHttpClient from "effect/http/FetchHttpClient";
4import * as HttpClient from "effect/http/HttpClient";
5import * as HttpClientRequest from "effect/http/HttpClientRequest";
6import * as HttpApiClient from "effect/http-api/HttpApiClient";
7​
8export const makeRelayEnvironmentClient = (connection: {
9 readonly url: string;
10 readonly environmentCredential: string;
11}) =>
12 HttpApiClient.make(RelayApi, {
13 baseUrl: connection.url,
14 transformClient: HttpClient.mapRequest(
15 HttpClientRequest.setHeader("authorization", `Bearer ${connection.environmentCredential}`),
16 ),
17 }).pipe(Effect.provide(FetchHttpClient.layer));