# multipart-stream 项目申报书

## 基本信息
- 项目名称：multipart-stream：MoonBit 流式 Multipart 编解码库
- 参赛者：longhuanlin
- 联系方式：2211945623@qq.com
- GitHub 仓库链接：https://github.com/longhuanlin/multipart-stream
- 项目方向：MoonBit Web/HTTP 基础设施与协议编解码库
- 是否为移植项目：否（依据 RFC 7578、RFC 2046、RFC 2183 的原创实现）

## 项目简介

multipart-stream 为 MoonBit 提供二进制安全、跨任意输入分块的 `multipart/form-data` 流式解析、生成和上传编排能力，面向 Web 框架、服务端上传、API 客户端与代理/网关。调用方可边接收边处理大文件，保持字段顺序与原始 bytes，避免由核心整体缓冲请求体。

## 核心功能范围

- KMP boundary 匹配、严格 MIME/header 语法、结构化事件与 fail-closed 资源限制；
- 增量 parser/writer、精确 `Content-Length` planner 与长度校验 emitter；
- legacy `multipart/mixed` 增量展开、受限字段 collector 与 callback source/sink；
- 事务 upload pipeline、field/file/aggregate quota、CRC-32 审计与 peak-chunk metrics；
- 多 target 测试、Native CLI/示例、Go 双向及 `curl -F` 互操作、可复现 benchmark；
- README、Apache-2.0 许可证、CI 和完整验收追踪材料。

## 原创或参考说明

项目为原创 MoonBit 实现，不复制其他语言 multipart 源码；RFC 仅作为语义依据，Go `mime/multipart` 仅作为 BSD-3-Clause 外部黑盒 oracle。核心不依赖 HTTP、文件系统、网络或 async runtime。
