const router = HttpRouter.empty.pipe(
HttpRouter.all(
"/",
Effect.gen(function* () {
const request = yield* HttpServerRequest.HttpServerRequest
const forwardedRequest = yield* Effect.tryPromise({ try: () =>
// Body?
fetch(headers["to-forward-url"], { method: request.method, headers: { ...request.headers, }, }), catch: (error) => new ForwardingRequestError({ cause: error, message: 'Failed to forward request', }), });
// This'll likely hang?
return HttpServerResponse.raw(forwardedRequest)
}).pipe(
Effect.catchTag("ParseError", (e) =>
HttpServerResponse.text(`...`)
)
)
)
)
const router = HttpRouter.empty.pipe(
HttpRouter.all(
"/",
Effect.gen(function* () {
const request = yield* HttpServerRequest.HttpServerRequest
const forwardedRequest = yield* Effect.tryPromise({ try: () =>
// Body?
fetch(headers["to-forward-url"], { method: request.method, headers: { ...request.headers, }, }), catch: (error) => new ForwardingRequestError({ cause: error, message: 'Failed to forward request', }), });
// This'll likely hang?
return HttpServerResponse.raw(forwardedRequest)
}).pipe(
Effect.catchTag("ParseError", (e) =>
HttpServerResponse.text(`...`)
)
)
)
)