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.7"

Import the crate:

extern crate hyper_multipart_rfc7578 as multipart;

Example:

With a custom client:

extern crate hyper_multipart_rfc7578 as hyper_multipart;

use hyper::{Client, Request};
use hyper_multipart::client::{self, multipart};

#[tokio::main]
async fn main() {
  let client = Client::builder().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:

extern crate hyper_multipart_rfc7578 as hyper_multipart;

use hyper::{
    Client, Request,
};
use hyper_multipart::client::{self, multipart};

#[tokio::main]
async fn main() {
  let client = Client::new();
  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_convert::<hyper::Body, multipart::Body>(req_builder)
      .unwrap();

  if let Ok(_) = client.request(req).await {
    println!("done...");
  } else {
    eprintln!("an error occurred");
  }
}

Modules