rtv 4.0.1

Minimal HTTP/S client that supports nonblocking and streaming requests using mio.
Documentation

# Rtv

Rtv is a simple, minimal dependency, HTTP client that runs ontop of [mio](https://crates.io/crates/mio).
It supports fully nonblocking requests, even dns resolution is nonblocking.
You can also use it with `async` as a much more light weight (but also less robust and featurefull)
alternative to something like `hyper`.

You can either setup `mio` youself and then use a `Client` to make requests using your own `Poll`
or alternatively you can use a `SimpleClient` if you want to use `async`.
However the latter is currently supported on 64 bit unix only.

## Example (Client)

This is the main functionality that this crate provides.
You can find an example [here](https://docs.rs/rtv/latest/rtv/struct.Client.html) on docs.rs.

## Example (SimpleClient)

It is really simple to make a single request.
This is not the only functionality that this client provides though!

```rust
let mut client = SimpleClient::new()?;
let request = Request::get().host("google.com");
client.send(request).await?;
```

## Mio Httpc

This crate is similar to [mio_httpc](https://crates.io/crates/mio_httpc), however
the API is much more clean, in my opinion.
MioHttpc makes event handling, timeouts and errors very verbose, while this crate aims
to provide a much simpler interface that only requires calling one function (`pump`).
Rtv supports only a subset of `mio_httpc`'s features though and is probably not as efficient
and stable. Rtv really is a *simple* HTTP client.

## Notes

Earlier versions of this crate were completely different.
I decided to repurpose the name because I don't wanna litter my profile or crates.io.
- First `rtv` was a crate for doing **r**ecursive-file-**t**ra**v**ersal
- Then it was a crate for resolving futures (completely useless)