#mime #mixed #multipart

mime_multipart

MIME multipart parsing, construction, and streaming

20 releases

0.6.1 Mar 22, 2023
0.6.0 Oct 1, 2020
0.5.2 Mar 28, 2019
0.5.1 Sep 10, 2017
0.2.3 Jul 29, 2016

#433 in Filesystem

Download history 105/week @ 2023-11-27 66/week @ 2023-12-04 167/week @ 2023-12-11 171/week @ 2023-12-18 92/week @ 2023-12-25 55/week @ 2024-01-01 112/week @ 2024-01-08 95/week @ 2024-01-15 68/week @ 2024-01-22 35/week @ 2024-01-29 72/week @ 2024-02-05 104/week @ 2024-02-12 162/week @ 2024-02-19 214/week @ 2024-02-26 143/week @ 2024-03-04 40/week @ 2024-03-11

574 downloads per month
Used in 18 crates (5 directly)

MIT/Apache

45KB
848 lines

mime-multipart

MIT licensed Apache-2.0 licensed

Rust library for MIME multipart parsing, construction, and streaming

This crate predates rust async support. It will remain pre-async to support codebases which aren't intending to be rewritten under the async methodology. That means we will remain on hyper 0.10.

Documentation is available at https://docs.rs/mime-multipart

Features

  • Parses from a stream, rather than in memory, so that memory is not hogged.
  • Streams parts which are identified as files (via the part's Content-Disposition header, if any, or via a manual override) to files on disk.
  • Uses buffered streams.
  • Lets you build and stream out a multipart as a vector of parts (Nodes), some of which could be files, others could be nested multipart parts.

If you are specifically dealing with multipart/formdata, you may be interested in https://github.com/mikedilger/formdata which uses this crate and takes it a step further.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~8–19MB
~276K SLoC