import {
FetchHttpClient,
HttpClient,
HttpClientRequest,
} from "@effect/platform";
import { Console, Effect, Unify } from "effect";
fetch("https://google.com", { redirect: "manual" }).then((response) =>
console.log("node fetch response", response)
);
const program = Unify.unify(
Effect.fn("fetchAndPaginate")(function* () {
const httpClient = (yield* HttpClient.HttpClient).pipe(
HttpClient.followRedirects(0)
);
const request = HttpClientRequest.get("https://google.com");
const response = yield* httpClient.execute(request);
yield* Console.log("effect fetch response", response);
}, Effect.provide(FetchHttpClient.layer))
);
Effect.runPromise(program());
import {
FetchHttpClient,
HttpClient,
HttpClientRequest,
} from "@effect/platform";
import { Console, Effect, Unify } from "effect";
fetch("https://google.com", { redirect: "manual" }).then((response) =>
console.log("node fetch response", response)
);
const program = Unify.unify(
Effect.fn("fetchAndPaginate")(function* () {
const httpClient = (yield* HttpClient.HttpClient).pipe(
HttpClient.followRedirects(0)
);
const request = HttpClientRequest.get("https://google.com");
const response = yield* httpClient.execute(request);
yield* Console.log("effect fetch response", response);
}, Effect.provide(FetchHttpClient.layer))
);
Effect.runPromise(program());