MultipartParser
Low-level parser for HTTP multipart/form-data bodies.
Constructors
Errors
MultipartError type
Added in v4.0.0
Source
An error produced while parsing a multipart body.
Signature
type MultipartError =
| {
readonly _tag: "InvalidBoundary";
}
| {
readonly _tag: "BadHeaders";
readonly error: HeadersParser.Failure;
}
| {
readonly _tag: "InvalidDisposition";
}
| {
readonly _tag: "ReachedLimit";
readonly limit: "MaxParts" | "MaxTotalSize" | "MaxPartSize" | "MaxFieldSize";
}
| {
readonly _tag: "EndNotReached";
};Models
BaseConfig type
Added in v4.0.0
Source
Shared multipart parser configuration.
Signature
type BaseConfig = {
readonly headers: Record<string, string>;
readonly isFile?: (info: PartInfo) => boolean;
readonly maxFieldSize?: number;
readonly maxParts?: number;
readonly maxPartSize?: number;
readonly maxTotalSize?: number;
};Multipart parser configuration with event callbacks.
Signature
type Config = BaseConfig & {
readonly onDone: () => void;
readonly onError: (error: MultipartError) => void;
readonly onField: (info: PartInfo, value: Uint8Array) => void;
readonly onFile: (info: PartInfo) => (chunk: Uint8Array | null) => void;
};A streaming multipart parser.
Signature
interface Parser {
readonly end: () => void;
readonly write: (chunk: Uint8Array) => void;
}Metadata describing a multipart form part.
Signature
interface PartInfo {
readonly contentDisposition: string;
readonly contentDispositionParameters: Record<string, string>;
readonly contentType: string;
readonly contentTypeParameters: Record<string, string>;
readonly filename?: string;
readonly headers: Record<string, string | Array<string>>;
readonly name: string;
}Utilities
decodeField
Added in v4.0.0
Source
Decodes a multipart field using its declared character set.
Signature
declare const decodeField: (info: PartInfo, value: Uint8Array) => string;defaultIsFile
Added in v4.0.0
Source
Determines whether a multipart part should be treated as a file.
Signature
declare const defaultIsFile: (info: PartInfo) => boolean;
Creates a streaming multipart parser.