Passing custom headers per endpoint using HttpApiClient
Hi, I have currently this code:
I need the admin token to go into the Authorization header, but just for some requests. How can it be done?
import * as FetchHttpClient from "@effect/platform/FetchHttpClient"
import * as HttpApiClient from "@effect/platform/HttpApiClient"
import * as HttpClient from "@effect/platform/HttpClient"
import * as Effect from "effect/Effect"
import { DomainApi } from "@repo/domain/api/domain"
export class ApiClient extends Effect.Service<ApiClient>()("ApiClient", {
accessors: true,
dependencies: [FetchHttpClient.layer],
effect: HttpApiClient.make(DomainApi, {
baseUrl: "http://localhost:3000",
transformClient: (client) => client.pipe(HttpClient.retryTransient({ times: 3 })),
}),
}) {}
const myEffect = Effect.gen(function* () {
const api = yield* ApiClient
const authentication = yield* Authentication
const adminToken = yield* authentication.admin.getToken()
const response = yield* api.users.get()
})import * as FetchHttpClient from "@effect/platform/FetchHttpClient"
import * as HttpApiClient from "@effect/platform/HttpApiClient"
import * as HttpClient from "@effect/platform/HttpClient"
import * as Effect from "effect/Effect"
import { DomainApi } from "@repo/domain/api/domain"
export class ApiClient extends Effect.Service<ApiClient>()("ApiClient", {
accessors: true,
dependencies: [FetchHttpClient.layer],
effect: HttpApiClient.make(DomainApi, {
baseUrl: "http://localhost:3000",
transformClient: (client) => client.pipe(HttpClient.retryTransient({ times: 3 })),
}),
}) {}
const myEffect = Effect.gen(function* () {
const api = yield* ApiClient
const authentication = yield* Authentication
const adminToken = yield* authentication.admin.getToken()
const response = yield* api.users.get()
})I need the admin token to go into the Authorization header, but just for some requests. How can it be done?
