1个不稳定版本
0.1.0 | 2021年6月27日 |
---|
#693 在 HTTP服务器
1,471 每月下载量
用于 warp-fix-171
42KB
884 行
multiparty
简单的零拷贝*流式多部分解码器实现。
还公开了底层的Sans IO解码器,可用于futures 0.3生态系统之外。
示例
multiparty = { version = "0.1", features = ["server", "futures03"] }
use multiparty::server::owned_futures03::FormData;
use futures_util::stream::TryStreamExt;
let boundary = todo!("A multipart/form-data boundary");
let stream = todo!("A Stream<Item = std::io::Result<Bytes>> + Unpin");
let mut multipart = FormData::new(stream, boundary);
while let Some(mut part) = multipart.try_next().await? {
let headers = part.raw_headers().parse()?;
println!("name: {:?}", headers.name);
println!("filename: {:?}", headers.filename);
println!("content_type: {:?}", headers.content_type);
while let Some(bytes) = part.try_next().await? {
println!("Read {} bytes from the current part", bytes.len());
}
println!("Reached the end of this part");
}
许可证
许可方式如下
- Apache License 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确声明,否则你故意提交以包含在作品中的任何贡献,均应按上述方式双重许可,不附加任何额外条款或条件。
* 除非是小于边界长度一半的Bytes
流。
依赖项
~130–295KB