This is a simple, quite incomplete implementation of HTTP/1.1; for instance, it does not support chunked transfer encoding (or gzip or deflate for that matter), or handles deprecated HTTP/1.0 features like header folding or a response without Content-Length terminated by closing the connection. It doesn’t do TLS, though I don’t know how difficult it would be to add that.
The distinctive features of async-http-client are:
- asynchronous (using tokio-core)
- available on crates.io
- lightweight and simple, with few dependencies
- standalone HTTP response parser written with nom
- support Transfer-Encoding: chunked
- maybe provide a Stream interface, so the caller can treat a chunked response as it arrives rather than waiting for the complete response.
I’m using this crate at work, hope this can be useful to somebody else!