GHHG10's picture
download
raw
1.04 kB
import { NodeFileSystem } from "@effect/platform-node"
import * as Layer from "effect/Layer"
import { FetchHttpClient } from "effect/unstable/http"
import type * as HttpClient from "effect/unstable/http/HttpClient"
import * as CassetteService from "./cassette.js"
import { recordingLayer } from "./internal-effect.js"
import { make } from "./redactor.js"
import type { RecorderOptions } from "./types.js"
/**
* Provides a fetch-backed `HttpClient` with cassette recording and replay.
*
* Locally, a missing cassette is recorded from the real service. Existing
* cassettes are replayed, and `CI=true` makes a missing cassette fail.
*/
export const http = (name: string, options: RecorderOptions = {}): Layer.Layer<HttpClient.HttpClient> =>
recordingLayer(name, {
metadata: options.metadata,
redactor: make(options.redact),
match: options.match,
}).pipe(
Layer.provide(CassetteService.fileSystem({ directory: options.directory })),
Layer.provide(FetchHttpClient.layer),
Layer.provide(NodeFileSystem.layer),
)

Xet Storage Details

Size:
1.04 kB
·
Xet hash:
6349b7aceb28d1849f74b9db1ee64dfb0adb2fe548e78b825424ab5ea77b8410

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