mime-multipart-hyper1

Crates.iomime-multipart-hyper1
lib.rsmime-multipart-hyper1
version0.10.0
created_at2025-01-23 10:15:19.447594+00
updated_at2025-01-23 10:15:19.447594+00
descriptionMIME multipart parsing, construction, and streaming compatible with hyper v1.x (fork of mime_multipart crate)
homepage
repositoryhttps://github.com/gw-de/mime-multipart-hyper1
max_upload_size
id1527688
size69,090
Gunnar Westerling (gw-de)

documentation

https://github.com/gw-de/mime-multipart-hyper1

README

mime-multipart-hyper1

MIT licensed Apache-2.0 licensed

Rust library for MIME multipart parsing, construction, and streaming compatible with hyper v1.x

This is a fork of https://github.com/mikedilger/mime-multipart with support for newer hyper versions.

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

Compatibility

  • Version 0.8
    • Use Rust version 2021
    • Update hyper from 0.10 to 0.11
    • Updates mime crate to version 0.3 (up-to-date at time of writing, November 2024)
  • Version 0.9
    • Update hyper to 0.14 (also compatible with hyper 0.12 and 0.13)
  • Version 0.10
    • Replace hyper dependency with http crate. This makes this crate compatible with hyper 1.x

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.

Commit count: 88

cargo fmt