effect-facet-unstable-http-httpclient

star 3

Guidance for facet `effect/unstable/http/HttpClient` focused on APIs like get, make, and makeWith. Load after `effect-skill-router` when this facet is the primary owner.

TylorS By TylorS schedule Updated 2/21/2026

name: effect-facet-unstable-http-httpclient description: Guidance for facet effect/unstable/http/HttpClient focused on APIs like get, make, and makeWith. Load after effect-skill-router when this facet is the primary owner.

Effect Facet unstable/http/HttpClient

Owned scope

  • Owns only effect/unstable/http/HttpClient.
  • Parent module: effect/unstable/http.
  • Source anchor: packages/effect/src/unstable/http/HttpClient.ts.

What it is for

  • Module-specific APIs and usage patterns for Effect programs.

API quick reference

  • get
  • make
  • makeWith
  • mapRequest
  • filterOrElse
  • filterOrFail
  • filterStatus
  • filterStatusOk
  • layerMergedServices
  • mapRequestEffect
  • mapRequestInput
  • mapRequestInputEffect
  • isHttpClient
  • del
  • put
  • tap
  • head
  • post
  • Full API list: references/api-reference.md

How to use it

  • Start with constructor-style APIs to build values/services before composing operations.
  • Prefer pipe-based composition to keep transformations explicit and testable.
  • Treat stateful APIs as synchronization boundaries and keep updates atomic.
  • Keep runtime/execute APIs at edges; compose pure transformations before execution.
  • Assume unstable APIs can evolve quickly; isolate usage behind thin local adapters.

Starter example

import { HttpClient } from "effect/unstable/http/HttpClient";

const value = HttpClient.make();
const next = HttpClient.get(value);

Common pitfalls

  • Scoped resources require deterministic lifecycle management to avoid leaks.
  • Concurrency helpers can hide ordering/cancellation behavior; test interruption and race paths.
  • Unstable module contracts may change; avoid coupling core app logic directly to experimental details.

Not covered here

  • Sibling facets under the same parent are out of scope:
    • effect-facet-unstable-http-client-impl (effect/unstable/http#client-impl)
    • effect-facet-unstable-http-cookies (effect/unstable/http/Cookies)
    • effect-facet-unstable-http-core (effect/unstable/http#core)
    • effect-facet-unstable-http-etag (effect/unstable/http/Etag)
    • effect-facet-unstable-http-fetchhttpclient (effect/unstable/http/FetchHttpClient)
    • effect-facet-unstable-http-findmyway (effect/unstable/http/FindMyWay)
    • effect-facet-unstable-http-headers (effect/unstable/http/Headers)
    • effect-facet-unstable-http-httpbody (effect/unstable/http/HttpBody)
    • effect-facet-unstable-http-httpclienterror (effect/unstable/http/HttpClientError)
    • effect-facet-unstable-http-httpclientrequest (effect/unstable/http/HttpClientRequest)
    • effect-facet-unstable-http-httpclientresponse (effect/unstable/http/HttpClientResponse)
    • effect-facet-unstable-http-httpeffect (effect/unstable/http/HttpEffect)
    • effect-facet-unstable-http-httpincomingmessage (effect/unstable/http/HttpIncomingMessage)
    • effect-facet-unstable-http-httpmethod (effect/unstable/http/HttpMethod)
    • plus 16 additional sibling facets.
  • Parent module ownership belongs to effect-module-unstable-http.

Escalate to

  • effect-module-unstable-http for parent module-wide workflows.
  • effect-skill-router for cross-module routing and ownership checks.

Reference anchors

  • Facet source: packages/effect/src/unstable/http/HttpClient.ts
  • Parent tests: packages/effect/test/HttpClient.test.ts
  • Parent tests: packages/effect/test/unstable/http/Cookies.test.ts
  • Parent tests: packages/effect/test/unstable/http/Headers.test.ts
  • Parent tests: packages/effect/test/unstable/http/HttpClientRequest.test.ts
  • Parent tests: packages/effect/test/unstable/http/HttpEffect.test.ts
  • Parent tests: packages/effect/test/unstable/http/Multipart.test.ts
  • API details: references/api-reference.md
  • Usage notes: references/usage-reference.md
  • Ownership mapping: references/owner.md
Install via CLI
npx skills add https://github.com/TylorS/typed-smol --skill effect-facet-unstable-http-httpclient
Repository Details
star Stars 3
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator