SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Rust HTTP 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.
-
-
rathole
A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok.
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
-
-
iggy
Iggy is the persistent message streaming platform written in Rust, supporting QUIC, TCP and HTTP transport protocols, capable of processing millions of messages per second.
-
-
cherrybomb
Stop half-done APIs! Cherrybomb is a CLI tool that helps you avoid undefined user behaviour by auditing your API specifications, validating them and running API security tests.
-
binserve
A fast production-ready static web server with TLS (HTTPS), routing, hot reloading, caching, templating, and security in a single-binary you can set up with zero code.
-
-
doh-server
Fast, mature, secure DoH and ODoH server proxy written in Rust. Previously known as doh-proxy and rust-doh.
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: hyper (Rust) upgrade to v1: Higher-level Server / Client were removed | dev.to | 2024-05-27Its core dependencies is hyper, "a protective and efficient HTTP library for all" which is rather low-level.
.github/ci.yml name: RickAndMorty CI Run on: pull_request: types: - opened - reopened jobs: build: runs-on: ubuntu-latest permissions: contents: read steps: - name: Checkout uses: actions/checkout@v4 - name: Hurl Integration test run: | curl --location --remote-name https://github.com/Orange-OpenSource/hurl/releases/download/4.0.0/hurl_4.0.0_amd64.deb sudo dpkg -i hurl_4.0.0_amd64.deb hurl --test *.hurl --variable URL=https://rickandmortyapi.com
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
Project mention: List of ngrok/Cloudflare Tunnel alternatives and other tunneling software and services. Focus on self-hosting. | dev.to | 2024-04-30rathole - Similar to frp, including the config format, but with improved performance. Low resource consumption. Hot reload. Written in Rust.
Install oha - a tool we will use to send requests to the server;
TypeSpec is great, but if you're working with Rust and you're about to write a new project that will require an OpenApi spec sooner or later, I'd like to recommend a web framework that has spec generation baked in:
https://github.com/poem-web/poem (see poem_openapi)
All you need to do is derive a trait on your response structs and in return you get an almost perfectly generated spec. Unions, objects, enums are first class citizens.
Also, if you're from coming from PHP, the controllers feel very much like symfony controllers.
P.s. Please do recommend an ORM that would feel closer to doctrine. I miss doctrine.
Project mention: Improving Interoperability Between Rust and C++ | news.ycombinator.com | 2024-02-05Yeah, PyO3 is great. I've tried to play around with releasing the GIL from rust in Python 3.12. I would enjoy writing a WSGI/ASGI server with a Celery runtime at some point too. Or contribute to Granian.
https://github.com/emmett-framework/granian
Project mention: Cherrybomb: Audit, validate and test API specifications | news.ycombinator.com | 2023-11-22
Rust HTTP discussion
Rust HTTP related posts
-
A way to speed up Next.js dynamic SSR
-
Exploring Hurl, a command line alternative to Postman
-
hyper (Rust) upgrade to v1: Higher-level Server / Client were removed
-
Show HN: Vaultrs – Rust-based HashiCorp Vault client library
-
The Linux Kernel Prepares for Rust 1.77 Upgrade
-
RSGI Specification
-
Unsafe at Any Speed: Tradeoffs and Values in the Rust Ecosystem
-
A note from our sponsor - SaaSHub
www.saashub.com | 14 Jun 2024
Index
What are some of the best open-source HTTP projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | hyper | 14,008 |
2 | hurl | 12,085 |
3 | reqwest | 9,326 |
4 | warp | 9,271 |
5 | rathole | 8,165 |
6 | oha | 4,202 |
7 | poem | 3,275 |
8 | sozu | 2,894 |
9 | simple-http-server | 2,492 |
10 | granian | 2,291 |
11 | woodpecker | 2,004 |
12 | ntex | 1,822 |
13 | iggy | 1,727 |
14 | ureq | 1,603 |
15 | http | 1,104 |
16 | Rouille, Rust web server middleware | 1,087 |
17 | cherrybomb | 1,066 |
18 | binserve | 963 |
19 | goose | 723 |
20 | doh-server | 697 |
21 | isahc | 690 |
22 | zino | 678 |
23 | Mockito | 634 |