hyper-multipart-rfc7578 0.1.0-alpha2

An implementation of multipart/form-data (RFC7578) for Hyper
Documentation
## Rust Hyper Multipart (RFC 7578)

[![Travis](https://img.shields.io/travis/ferristseng/rust-hyper-multipart-rfc7578.svg)](https://travis-ci.org/ferristseng/rust-hyper-multipart-rfc7578)
[![Crates.io](https://img.shields.io/crates/v/hyper-multipart-rfc7578.svg)](https://crates.io/crates/hyper-multipart-rfc7578)
[![Docs.rs](https://docs.rs/hyper-multipart-rfc7578/badge.svg)](https://docs.rs/hyper-multipart-rfc7578/0.1.0-alpha/hyper_multipart_rfc7578/)

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-alpha"
```

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

```rust
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):

```rust
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

  * [abonander/multipart]https://github.com/abonander/multipart
  * [abonander/multipart-async]https://crates.io/crates/multipart-async
  * [mikedilger/formdata]https://github.com/mikedilger/formdata

## License

Licensed under either of

 * Apache License, Version 2.0, ([LICENSE-APACHE]LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
 * MIT license ([LICENSE-MIT]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.