///|
/// Opaque, single-owner multipart/form-data parser state.
declare pub type MultipartParser
///|
/// Create a parser for an already extracted boundary and explicit limits.
declare pub fn MultipartParser::new(
boundary : String,
limits : @model.Limits,
) -> MultipartParser raise @model.MultipartError
///|
/// Create a parser for legacy `multipart/mixed` child parts. Missing child
/// names inherit `parent_name`; normal form-data callers should use `new`.
declare pub fn MultipartParser::new_mixed(
boundary : String,
parent_name : String,
limits : @model.Limits,
) -> MultipartParser raise @model.MultipartError
///|
/// Consume one arbitrary bytes chunk and return ordered owned events.
///
/// After this call raises, the parser becomes failed and cannot resume.
declare pub fn MultipartParser::feed(
self : MultipartParser,
chunk : Bytes,
) -> Array[@model.MultipartEvent] raise @model.MultipartError
///|
/// Signal end of input and require a complete closing delimiter.
declare pub fn MultipartParser::finish(
self : MultipartParser,
) -> Array[@model.MultipartEvent] raise @model.MultipartError
///|
/// Inspect the public lifecycle phase without exposing implementation state.
declare pub fn MultipartParser::phase(
self : MultipartParser,
) -> @model.ParserPhase
///|
/// Number of input bytes consumed before success or failure.
declare pub fn MultipartParser::bytes_seen(self : MultipartParser) -> Int64
///|
/// Return redacted parser counters accumulated so far.
declare pub fn MultipartParser::stats(
self : MultipartParser,
) -> @model.ParserStats