UNPKG

mixpart

Version:

High-performance streaming multipart/mixed parser for Node.js

39 lines (37 loc) 1.38 kB
/** * Multipart message part containing headers and payload stream */ interface MultipartMessage { headers: Headers; payload: ReadableStream<Uint8Array>; } /** * Error thrown during multipart parsing */ declare class MultipartParseError extends Error { constructor(message: string); } /** * Parser configuration options */ interface ParserOptions { /** Maximum size for header buffer (default: 64KB) */ maxHeaderSize?: number; /** Maximum size for boundary buffer (default: 8KB) */ maxBoundaryBuffer?: number; } /** * Extract boundary from Content-Type header */ declare function extractBoundary(contentType: string): string; /** * Streaming multipart/mixed parser using async generators * Parses multipart messages as they arrive without loading everything into memory * Each message payload is a ReadableStream for true streaming * * Uses clean producer-consumer pattern to prevent deadlocks when message payloads * span multiple network chunks. The producer continuously reads and parses chunks * while the consumer yields messages, ensuring payload streams receive data properly. */ declare function parseMultipartStream(response: Response, options?: ParserOptions): AsyncGenerator<MultipartMessage, void, unknown>; export { type MultipartMessage, MultipartParseError, type ParserOptions, extractBoundary, parseMultipartStream };