EdgeAIG's picture
download
raw
2.64 kB
/**
* 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 4.0.0
*/
import * as Context from "../../Context.ts";
import type * as Layer from "../../Layer.ts";
import * as HttpClient from "./HttpClient.ts";
/**
* Context reference for the `fetch` implementation used by the fetch-based HTTP client.
*
* **Details**
*
* Defaults to `globalThis.fetch`.
*
* @category services
* @since 4.0.0
*/
export declare const Fetch: Context.Reference<typeof globalThis.fetch>;
declare const RequestInit_base: Context.ServiceClass<RequestInit, "effect/http/FetchHttpClient/RequestInit", globalThis.RequestInit>;
/**
* 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.
*
* @category services
* @since 4.0.0
*/
export declare class RequestInit extends RequestInit_base {
}
/**
* 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 {@link Fetch} for supplying the fetch implementation used by this layer
* @see {@link RequestInit} for default `RequestInit` options applied before request-specific fields
*
* @category layers
* @since 4.0.0
*/
export declare const layer: Layer.Layer<HttpClient.HttpClient>;
export {};
//# sourceMappingURL=FetchHttpClient.d.ts.map

Xet Storage Details

Size:
2.64 kB
·
Xet hash:
052628ab5573e615c415984243a2ceac5f3d7f97e214f59f977699e200a8417c

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.