Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 12 Rust HTTP Client Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
wasmedge_hyper_demo
Lightweight HTTP servers based on hyper / warp frameworks in the WasmEdge Runtime.
Project mention: The Linux Kernel Prepares for Rust 1.77 Upgrade | news.ycombinator.com | 2024-02-18> If you are equally picky and constrain yourself to parts of the ecosystem which care about binary size, you still have more options and can avoid size issues.
What's an example of this for, say, libcurl? On my system it has a tiny number of recursive dependencies, around a dozen. [0] Furthermore if I want to write a C program that uses libcurl I have to download zero bytes of data ... because it's a shared library that is already installed on my system, since so many programs already use it.
I don't really know the appropriate comparison for Rust. reqwest seems roughly comparable, but it's an HTTP client library, and not a general purpose network client like curl. Obviously curl can do a lot more. Even the list of direct dependencies for reqwest is quite long [1], and it's built on top of another http library [2] that has its own long list of dependencies, a list that includes tokio, no small library itself.
In terms of final binary size, the installed size of the curl package on my system, which includes both the command line tool and development dependencies for libcurl, is 1875.03 KiB.
[0] I'm excluding the dependency on the ca-certificates package, since this only provides the certificate chain for TLS and lots of programs rely on it.
[1] https://crates.io/crates/reqwest/0.11.24/dependencies
[2] https://crates.io/crates/hyper/0.14.28/dependencies
I tried Hurl after Insomnia went the way of Postman. The highlights you list were the strong drivers for testing it out. Where Hurl fell short was composing requests. Example: X.hurl response has authToken. Y.hurl uses authToken. Z.hurl uses authToken. There's no import ability[1], so you've got to use other tooling to copy X.hurl into Y.hurl and Z.hurl.
Ultimately settled on Bruno. It's backed by readable text files[2] as well. The CLI works for scripting. And the GUI is familiar enough that I've managed to convert Postman holdouts at my dayjob.
[1]: https://github.com/Orange-OpenSource/hurl/issues/1723
[2]: https://docs.usebruno.com/bru-language-samples.html
Project mention: The Linux Kernel Prepares for Rust 1.77 Upgrade | news.ycombinator.com | 2024-02-18> If you are equally picky and constrain yourself to parts of the ecosystem which care about binary size, you still have more options and can avoid size issues.
What's an example of this for, say, libcurl? On my system it has a tiny number of recursive dependencies, around a dozen. [0] Furthermore if I want to write a C program that uses libcurl I have to download zero bytes of data ... because it's a shared library that is already installed on my system, since so many programs already use it.
I don't really know the appropriate comparison for Rust. reqwest seems roughly comparable, but it's an HTTP client library, and not a general purpose network client like curl. Obviously curl can do a lot more. Even the list of direct dependencies for reqwest is quite long [1], and it's built on top of another http library [2] that has its own long list of dependencies, a list that includes tokio, no small library itself.
In terms of final binary size, the installed size of the curl package on my system, which includes both the command line tool and development dependencies for libcurl, is 1875.03 KiB.
[0] I'm excluding the dependency on the ca-certificates package, since this only provides the certificate chain for TLS and lots of programs rely on it.
[1] https://crates.io/crates/reqwest/0.11.24/dependencies
[2] https://crates.io/crates/hyper/0.14.28/dependencies
No need to use curl, make HTTP requests great again with https://github.com/ducaale/xh
I also enjoyed using ureq as an http client.
Project mention: HTTPie Desktop: cross-platform API testing client for humans | news.ycombinator.com | 2023-10-08
https://github.com/second-state/microservice-rust-mysql
https://github.com/WasmEdge/wasmedge-db-examples
https://github.com/WasmEdge/wasmedge_hyper_demo
WasmEdge is already one of the smallest and most efficient Wasm runtimes out there. It embeds into libsql (SQLite on the server!) to execute user definited functions to perform complex tasks like HTTPS web services & AI inference from SQL statements! https://wasmedge.org/docs/embed/use-case/libsql/
The WasmEdge C++ and Rust SDKs allow host applications to embed Wasm functions asynchronously. It is critically important in many applications where the embedded Wasm function is simply not allowed to block the execution of the host applications. https://github.com/second-state/wasmedge-rustsdk-examples/bl...
Asynchronous host SDKs are complex and a lot of work still remains. We are continuously improving it with our end user and partner communities.
Preview: https://github.com/L-jasmine/WasmEdge/tree/feat/async
What's coming next?
* Support plugins in our Docker and k8s integrations
Rust HTTP Client related posts
-
The Linux Kernel Prepares for Rust 1.77 Upgrade
-
json-responder 1.1: dynamic path resolution
-
Curl is now a CVE Numbering Authority
-
ReductStore 1.6.0 has been released with new license and client SDK for Rust
-
Rust dependency woes
-
Signway - a pre-signed URLs gateway written in rust, specifically designed for allowing LLM based client apps to directly query OpenAI's api securely.
-
Get better with Vim one tip at a time
-
A note from our sponsor - InfluxDB
www.influxdata.com | 7 May 2024
Index
What are some of the best open-source HTTP Client projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | hyper | 13,845 |
2 | hurl | 10,994 |
3 | reqwest | 9,178 |
4 | ht | 4,753 |
5 | ureq | 1,569 |
6 | curl-rust | 992 |
7 | goose | 697 |
8 | isahc | 678 |
9 | dot-http | 155 |
10 | wasmedge_hyper_demo | 71 |
11 | curl-rs | 2 |
12 | github-stats | 0 |
Sponsored