class DynoHttpClient extends Effect.Service<DynoHttpClient>()('DynoHttpClient', {
dependencies: [FetchHttpClient.layer],
effect: Effect.gen(function* () {
const defaultClient = yield * HttpClient.HttpClient
return defaultClient.pipe(
HttpClient.mapRequest(request => request.pipe(
HttpClientRequest.prependUrl('http://localhost:3000/api/_dyno'),
HttpClientRequest.setHeader('Content-Type', 'application/json'),
HttpClientRequest.setHeader('x-api-key', 'my-api-key'),
)),
HttpClient.transformResponse(response => response.pipe(
// what transformation should i apply here?
)),
)
}),
}) {}
class DynoHttpClient extends Effect.Service<DynoHttpClient>()('DynoHttpClient', {
dependencies: [FetchHttpClient.layer],
effect: Effect.gen(function* () {
const defaultClient = yield * HttpClient.HttpClient
return defaultClient.pipe(
HttpClient.mapRequest(request => request.pipe(
HttpClientRequest.prependUrl('http://localhost:3000/api/_dyno'),
HttpClientRequest.setHeader('Content-Type', 'application/json'),
HttpClientRequest.setHeader('x-api-key', 'my-api-key'),
)),
HttpClient.transformResponse(response => response.pipe(
// what transformation should i apply here?
)),
)
}),
}) {}