hyper-multipart-rfc7578 0.1.0-alpha3

An implementation of multipart/form-data (RFC7578) for Hyper
Documentation

Rust Hyper Multipart (RFC 7578)

Travis Crates.io Docs.rs

This crate contains an implementation of the multipart/form-data media type described in RFC 7578 for hyper.

Currently, only the client-side is implemented.

Usage

[dependencies]
hyper-multipart-rfc7578 = "0.1.0-alpha3"

Because the name of this library is really wordy, I recommend shortening it:

extern crate hyper_multipart_rfc7578 as hyper_multipart;

Using this requires a hyper client compatible with the multipart::Body data structure (see the documentation for more detailed examples):


use hyper::{Method, Request};
use hyper::client::Client;
use hyper_multipart_rfc7578::client::{self, multipart};
use tokio_core::reactor::{Core, Handle};

let mut core = Core::new().unwrap();
let client: Client<_, multipart::Body> = client::create(&core.handle());
let mut req = Request::new(Method::Get, "http://localhost/upload".parse().unwrap());
let mut form = multipart::Form::default();

form.add_text("test", "Hello World");
form.set_body(&mut req);

core.run(client.request(req));

Note on Server Implementation

I don't have any plans on implementing the server-side of this any time soon. I ended up implementing the client-side because I couldn't find any good libraries that were compatible with hyper >= 0.11.

Please feel free to submit a pull request, I would gladly review it!

Alternatives

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.