Effect.gen(function* () {
let ssrHeaders: Record<string, string> = {}
if (import.meta.server) {
tryUseNuxtApp()?.runWithContext(() => {
ssrHeaders = useRequestHeaders()
})
}
console.log('making request')
const response = yield * httpClient.execute((function () {
const requestWithHeaders = (import.meta.server ? HttpClientRequest.setHeaders(ssrHeaders)(request) : request)
return requestWithHeaders
})())
if ([502, 503, 504].includes(response.status)) {
return yield * Effect.fail(new ProxyServerOfflineError({ message: 'The proxy server is offline. Please try again later.' }))
}
// ...rest
}).pipe(
Effect.scoped,
Effect.catchTags({
RequestError: (error) => {
// ... handle for request error
},
}),
)
Effect.gen(function* () {
let ssrHeaders: Record<string, string> = {}
if (import.meta.server) {
tryUseNuxtApp()?.runWithContext(() => {
ssrHeaders = useRequestHeaders()
})
}
console.log('making request')
const response = yield * httpClient.execute((function () {
const requestWithHeaders = (import.meta.server ? HttpClientRequest.setHeaders(ssrHeaders)(request) : request)
return requestWithHeaders
})())
if ([502, 503, 504].includes(response.status)) {
return yield * Effect.fail(new ProxyServerOfflineError({ message: 'The proxy server is offline. Please try again later.' }))
}
// ...rest
}).pipe(
Effect.scoped,
Effect.catchTags({
RequestError: (error) => {
// ... handle for request error
},
}),
)