1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
// Copyright 2017 rust-hyper-multipart-rfc7578 Developers // // Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or // http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or // http://opensource.org/licenses/MIT>, at your option. This file may not be // copied, modified, or distributed except according to those terms. // //! This crate contains an implementation of the multipart/form-data media //! type described in [RFC 7578](https://tools.ietf.org/html/rfc7578) for //! hyper. //! //! Currently, only the client-side is implemented. //! //! ## Usage //! //! ```toml //! [dependencies] //! hyper-multipart-rfc7578 = "0.1.0-alpha3" //! ``` //! //! Because the name of this library is really wordy, I recommend shortening it: //! //! ```rust //! 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): //! //! ```rust //! # extern crate hyper; //! # extern crate hyper_multipart_rfc7578; //! //! use hyper::{Client, Request, rt::{self, Future}}; //! use hyper_multipart_rfc7578::client::{self, multipart}; //! //! # fn main() { //! let client = Client::new(); //! let mut req_builder = Request::get("http://localhost/upload"); //! let mut form = multipart::Form::default(); //! //! form.add_text("test", "Hello World"); //! let req = form.set_body(&mut req_builder).unwrap(); //! //! rt::run( //! client //! .request(req) //! .map(|_| println!("done...")) //! .map_err(|_| println!("an error occurred")), //! ); //! # } //! ``` //! extern crate bytes; extern crate futures; extern crate http; extern crate hyper; extern crate mime; extern crate rand; mod client_; mod error; pub mod client { pub use error::Error; /// This module contains data structures for building a multipart/form /// body to send a server. /// pub mod multipart { pub use client_::{Body, BoundaryGenerator, Form, Part}; } }