#mime #multipart #mixed

mime_multipart

MIME multipart parsing, construction, and streaming

19 releases

0.6.0 Oct 1, 2020
0.5.2 Mar 28, 2019
0.5.1 Sep 10, 2017
0.5.0 Mar 11, 2017
0.2.3 Jul 29, 2016

#24 in Email

Download history 589/week @ 2020-06-28 333/week @ 2020-07-05 466/week @ 2020-07-12 368/week @ 2020-07-19 328/week @ 2020-07-26 331/week @ 2020-08-02 356/week @ 2020-08-09 328/week @ 2020-08-16 383/week @ 2020-08-23 398/week @ 2020-08-30 505/week @ 2020-09-06 471/week @ 2020-09-13 512/week @ 2020-09-20 756/week @ 2020-09-27 798/week @ 2020-10-04 839/week @ 2020-10-11

1,777 downloads per month
Used in 19 crates (4 directly)

MIT/Apache

45KB
845 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

~5.5MB
~119K SLoC