Client- and server-side abstractions for HTTP file uploads (POST requests with Content-Type: multipart/form-data).
Supports several different (synchronous API) HTTP crates.
Asynchronous (i.e. futures-based) API support will be provided by multipart-async.
As the web ecosystem in Rust moves towards asynchronous APIs, the need for this crate in synchronous API form becomes dubious. This crate in its current form is usable enough, so as of June 2020 it is now in passive maintenance mode; bug reports will be addressed as time permits and PRs will be accepted but otherwise no new development of the existing API is taking place.
Look for a release of multipart-async soon which targets newer releases of Hyper.
Example files demonstrating how to use multipart with these crates are available under examples/.
via the tiny_http feature.
Provides server-side integration with tiny_http::Request via multipart::server::Multipart.
Customizable drop-in std::io::BufReader replacement, created to be used in this crate.
Needed because it can read more bytes into the buffer without the buffer being empty, necessary
when a boundary falls across two reads. (It was easier to author a new crate than try to get this added
to std::io::BufReader.)
Fast, zero-copy HTTP header parsing, used to read field headers in multipart/form-data request bodies.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
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.