Uses old Rust 2015
0.1.0-alpha3 |
|
---|
#28 in #form
29KB
327 lines
Rust Hyper Multipart (RFC 7578)
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-alpha2"
Because the name of this library is really wordy, I recommend shortening it:
extern 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
- 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.
Dependencies
~9MB
~154K SLoC