Expand description
This crate contains an implementation of the multipart/form-data media type described in RFC 7578 for hyper.
§Usage
Declare the dependency:
[dependencies]
hyper-multipart-rfc7578 = "0.8"
Import the crate:
use hyper_multipart_rfc7578 as multipart;
§Example:
With a custom client:
use hyper_multipart_rfc7578 as hyper_multipart;
use hyper::Request;
use hyper_multipart::client::{self, multipart};
use hyper_util::{
client::legacy::{connect::HttpConnector, Builder, Client},
rt::TokioExecutor,
};
#[tokio::main]
async fn main() {
let client = Builder::new(TokioExecutor::new()).build_http();
let mut form = multipart::Form::default();
form.add_text("test", "Hello World");
let mut req_builder = Request::get("http://localhost/upload");
let req = form.set_body::<multipart::Body>(req_builder).unwrap();
if let Ok(_) = client.request(req).await {
println!("done...");
} else {
eprintln!("an error occurred");
}
}
With a default client:
use hyper_multipart_rfc7578 as hyper_multipart;
use hyper::Request;
use hyper_util::{
client::legacy::{connect::HttpConnector, Builder, Client},
rt::TokioExecutor,
};
use hyper_multipart::client::{self, multipart};
#[tokio::main]
async fn main() {
let client = Builder::new(TokioExecutor::new()).build_http();
let mut form = multipart::Form::default();
form.add_text("test", "Hello World");
let mut req_builder = Request::get("http://localhost/upload");
let req = form.set_body::<multipart::Body>(req_builder).unwrap();
if let Ok(_) = client.request(req).await {
println!("done...");
} else {
eprintln!("an error occurred");
}
}