FetchHttpClient.ts
FetchHttpClient.ts overview
Section titled “FetchHttpClient.ts overview”Fetch-based implementation of the Effect HTTP client service.
This module provides an HttpClient layer that executes requests through a
Web Fetch API implementation. It is the transport to use in browsers, edge
runtimes, and Node.js environments where globalThis.fetch is available, or
anywhere a compatible fetch function can be supplied.
Since v4.0.0
Exports Grouped by Category
Section titled “Exports Grouped by Category”layers
Section titled “layers”Layer that provides an HttpClient implementation backed by the configured
Fetch function.
When to use
Use when an Effect program should execute HttpClient requests through the
platform fetch implementation, especially in browser, edge, or Node.js
runtimes with globalThis.fetch.
Details
The layer uses the current Fetch reference and optional RequestInit
service for each request. Request-specific method, headers, body, and abort
signal are supplied by the client and override matching RequestInit fields.
Gotchas
Fetch behavior comes from the runtime’s implementation, so CORS, cookies,
redirects, abort handling, and streaming support can vary by platform. Stream
request bodies are sent as Web streams with duplex: "half", and any
content-length header is removed before calling fetch.
See
Fetchfor supplying the fetch implementation used by this layerRequestInitfor defaultRequestInitoptions applied before request-specific fields
Signature
declare const layer: Layer.Layer<HttpClient.HttpClient, never, never>Since v4.0.0
services
Section titled “services”Context reference for the fetch implementation used by the fetch-based HTTP client.
Details
Defaults to globalThis.fetch.
Signature
declare const Fetch: Context.Reference<{ (input: RequestInfo | URL, init?: globalThis.RequestInit): Promise<Response> (input: string | URL | Request, init?: globalThis.RequestInit): Promise<Response>}>Since v4.0.0
RequestInit (class)
Section titled “RequestInit (class)”Service that contains default fetch options for the fetch-based HTTP client.
When to use
Use to provide default credentials, cache, redirect, integrity, or other fetch options for outgoing HTTP requests.
Details
Request-specific method, headers, body, and abort signal are supplied by the client when a request is executed.
Signature
declare class RequestInitSince v4.0.0