longhuanlin/multipart-stream/mixed does not have a README file

    MixedError

    pub(all) suberror MixedError {
    InvalidLimits(reason~ : String)
    DepthExceeded(limit~ : Int, observed~ : Int)
    ContainerTooLarge(limit~ : Int64, observed~ : Int64)
    InvalidContainer(reason~ : String)
    UnexpectedEvent(reason~ : String)
    Protocol(error~ :
    MultipartError
    )
    } derive(Eq,
    Debug
    )

    ActiveMixed

    pub struct ActiveMixed {
    part_index : Int
    parser :
    MultipartParser

    child : MixedStream
    observed_bytes : Int64
    }

    ActivePart

    pub enum ActivePart {
    Leaf(Int)
    Container(ActiveMixed)
    }

    MixedEvent

    pub(all) struct MixedEvent {
    depth : Int
    parent_part_index : Int?
    event :
    MultipartEvent

    } derive(Eq,
    Debug
    )

    One event after recursively expanding legacy multipart/mixed containers. Container envelopes are suppressed; leaf events retain their original protocol metadata, depth, and immediate container part index.

    MixedLimits

    pub(all) struct MixedLimits {
    max_depth : Int
    max_parts_per_container : Int
    max_container_bytes : Int64
    max_part_bytes : Int64
    } derive(Eq,
    Debug
    )

    Bounds for recursive legacy multipart/mixed expansion.

    MixedPart

    pub(all) struct MixedPart {
    depth : Int
    parent_part_index : Int?
    meta :
    PartMeta

    body : Bytes
    } derive(Eq,
    Debug
    )

    One owned leaf part returned by the compatibility batch helper.

    MixedStream

    pub struct MixedStream {
    limits : MixedLimits
    depth : Int
    parent_part_index : Int?
    emit_message_end : Bool
    active : ActivePart?
    completed : Bool
    }

    MixedStream::feed

    Transform one batch of top-level parser events. Feed this method after each MultipartParser::feed result; nested leaf data can be emitted before the outer container has ended.

    MixedStream::finish

    fn MixedStream::finish(self : MixedStream) -> Unit raise MixedError

    Require that the event stream has completed without a partial container.

    MixedStream::new

    fn MixedStream::new(limits? : MixedLimits) -> MixedStream raise MixedError

    Create an incremental transformer for top-level multipart parser events.

    default_mixed_limits

    fn default_mixed_limits() -> MixedLimits

    expand_mixed

    fn expand_mixed(content_type : String, body : Bytes, inherited_name : String, limits? : MixedLimits) -> Array[MixedPart] raise MixedError

    Compatibility helper for callers that already own a complete container. New upload paths should use MixedStream directly to avoid buffering the nested body before parsing it.

    Source Files