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
Added in v4.0.0
Source
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: None<any> | Some<any>;
stream: Stream<Uint8Array<ArrayBufferLike>, E>;
text: Effect<string, E>;
textUnsafe: string;
urlParamsBody: Effect<UrlParams, E>;
}
Adapts a Node
IncomingMessageto 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.