NodeHttpIncomingMessage
Adapter base for exposing Node http.IncomingMessage values as Effect HTTP
incoming messages.
Server requests and Node client responses both arrive as Node readable
streams with raw header objects, socket metadata, and one-shot body
consumption. This module's NodeHttpIncomingMessage class keeps the original
Node message available while presenting Effect's HttpIncomingMessage shape:
typed headers, remote address lookup, stream access, and text, JSON,
URL-encoded, and array-buffer body readers.
Constructors
NodeHttpIncomingMessage
Adapts a Node IncomingMessage to Effect HTTP incoming messages.
When to use
Use to implement Node HTTP request or response adapters that expose the Effect HTTP incoming-message interface.
Details
The adapter exposes headers, remote address, stream access, and cached body decoders. Subclasses provide the error mapping for unknown Node errors.
Signature
declare class NodeHttpIncomingMessage<E> extends Class implements HttpIncomingMessage<E> { constructor<E>(source: IncomingMessage, onError: (error: unknown) => E, remoteAddressOverride?: Option<string>); readonly "~effect/http/HttpIncomingMessage": "~effect/http/HttpIncomingMessage"; readonly onError: (error: unknown) => E; readonly remoteAddressOverride?: Option<string>; readonly source: IncomingMessage; arrayBuffer: Effect<ArrayBuffer, E>; headers: Headers; json: Effect<Json, E>; jsonUnsafe: Json; remoteAddress: Option<string>; stream: Stream<Uint8Array<ArrayBufferLike>, E>; text: Effect<string, E>; textUnsafe: string; urlParamsBody: Effect<UrlParams, E>;}