Skip to content

NodeMultipartParser

Node.js streams adapter for the low-level multipart parser.

6 exports Added in v4.0.0 Source

Constructors

make

Added in v4.0.0 Source

Creates a Node.js multipart parser stream.

Signature

declare function make(config: NodeConfig): MultipartStream;

Models

Field interface

Added in v4.0.0 Source

A parsed multipart field.

Signature

interface Field {
  readonly _tag: "Field";
  readonly info: PartInfo;
  readonly value: Uint8Array;
}

FileStream

Added in v4.0.0 Source

A readable stream containing a parsed multipart file.

Signature

declare class FileStream extends unknown {
  constructor(info: PartInfo, parent: MultipartStream);
  readonly _tag: "File";
  readonly filename: string | undefined;
  readonly info: PartInfo;
  _read(_size: number): void;
}

A Node.js duplex stream that parses multipart input.

Signature

declare class MultipartStream extends unknown {
  constructor(config: NodeConfig);
  _canWrite: boolean;
  _final(callback: (error?: Error | null) => void): void;
  _read(_size: number): void;
  _resume(): void;
  _write(chunk: any, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
  [asyncIterator](): AsyncIterator<Part>;
  on(event: "field", listener: (field: Field) => void): this;
  on(event: "file", listener: (file: FileStream) => void): this;
  on(event: "close", listener: () => void): this;
  on(event: "data", listener: (part: Part) => void): this;
  on(event: "drain", listener: () => void): this;
  on(event: "end", listener: () => void): this;
  on(event: "error", listener: (err: MultipartError) => void): this;
  on(event: "finish", listener: () => void): this;
  on(event: "pause", listener: () => void): this;
  on(event: "pipe", listener: (src: Readable) => void): this;
  on(event: "readable", listener: () => void): this;
  on(event: "resume", listener: () => void): this;
  on(event: "unpipe", listener: (src: Readable) => void): this;
  on(event: string | symbol, listener: (...args: Array<any>) => void): this;
  read(size?: number): Part | null;
}

NodeConfig type

Added in v4.0.0 Source

Configuration for the Node.js multipart parser.

Signature

type NodeConfig = Omit<BaseConfig, "headers"> & {
  readonly headers: IncomingHttpHeaders;
};

Part type

Added in v4.0.0 Source

A part emitted by the Node.js multipart parser.

Signature

type Part = Field | FileStream;