Multipart

Client- and server-side abstractions for HTTP file uploads (POST requests with Content-Type: multipart/form-data).
Supports several different HTTP crates.
Minimum supported Rust version: 1.17.0
Documentation
Integrations
Example files demonstrating how to use multipart with these crates are available under examples/.
Hyper
via the hyper feature (enabled by default).
Client integration includes support for regular hyper::client::Request objects via multipart::client::Multipart, as well
as integration with the new hyper::Client API via multipart::client::lazy::Multipart (new in 0.5).
Server integration for hyper::server::Request via multipart::server::Multipart.
Iron
via the iron feature.
Provides regular server-side integration with iron::Request via multipart::server::Multipart,
as well as a convenient BeforeMiddleware implementation in multipart::server::iron::Intercept.
tiny_http
via the tiny_http feature.
Provides server-side integration with tiny_http::Request via multipart::server::Multipart.
Nickel
Note: Moved to multipart-nickel crate, see nickel/examples/nickel.rs
for updated integration example.
Provides server-side integration with &mut nickel::Request via multipart::server::Multipart.
License
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.
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.