From 662d001c7975c895bd4681af926e5bca3ef4336e Mon Sep 17 00:00:00 2001 From: Martin Algesten Date: Thu, 6 Feb 2020 08:18:45 +0100 Subject: [PATCH] update readme about ureqs future --- README.md | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index f6194c9..1f969b7 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,25 @@ [![CratesIO](https://img.shields.io/crates/v/ureq.svg)](https://crates.io/crates/ureq) [![Documentation](https://docs.rs/ureq/badge.svg)](https://docs.rs/ureq) - > Minimal request library in rust. +## ureq's future + +I asked for feedback on [ureq's future +direction](https://www.reddit.com/r/rust/comments/eu6qg8/future_of_ureq_http_client_library/) +and came to the conclusion that there's enough interest in a simple +blocking http client to keep it going. Another motivation is that I +use it extensively for my own work, to talk to S3. + +I'll keep maintaining ureq. I will try to keep dependencies somewhat +fresh and try to address bad bugs. I will however not personally +implement new features in ureq, but I do welcome PR with open arms. + +The code base is extremely simple, one might even call naive. It's a +good project to hack on as first learning experience in Rust. I will +uphold some base line of code hygiene, but won't block a PR due to +something being a bit inelegant. + ## Usage ```rust @@ -72,14 +88,13 @@ correct according to spec cause an HTTP header name should be ascii. The absolut correct way would be to have `.set(header, value)` return a `Result`. This library opts for convenience over correctness, so the decision is left to the user. -### Sync (for now) - -This library uses blocking socket reads and writes, for now. -The async story in rust is in heavy development and when used -currently pulls in a heavy dependency tree (tokio etc). Once -more async support is in rust core and won't drag those -dependencies, this library might change. +### Sync forever +This library uses blocking socket reads and writes. When it was +created, there wasn't any async/await support in rust, and for my own +purposes, blocking IO was fine. At this point, one good reason to keep +this library going is that it is blocking (the other is that it relies +on very little use of unsafe). ## TODO