tower-http
governor
tower-http | governor | |
---|---|---|
4 | 2 | |
633 | 508 | |
1.9% | 2.6% | |
8.1 | 8.0 | |
10 days ago | 7 days ago | |
Rust | Rust | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tower-http
-
Rust open TCP Connection
If your goal is specifically a web proxy, you also might want to take a look at async Rust such as hyper and tower-http, which are part of the tokio ecosystem. (But spawning threads could be just fine too, if it's not super performance-sensitive.)
-
tower-http ServeDir sending file speed is extremely slow (tower-http 700KiB/s vs actix 800MiB/s)
here's the issue for more detailed info: https://github.com/tower-rs/tower-http/issues/136
-
New Tower guide: Building a middleware from scratch
tower-http has several simple middleware if you're looking for more examples. AddExtension, SetRequestHeader and SetResponseHeader are good places to start. If you want to see something that goes all-in then Trace is probably the most complex middleware in tower-http.
-
HTTP server with lots of network knobs?
You could also look at https://github.com/tower-rs/tower-http which is a work in progress set of HTTP specific middlewares for tower. It also has examples that uses hyper as the HTTP server.
governor
-
HTTP server with lots of network knobs?
Related: https://github.com/antifuchs/governor
-
I just published my first crate - a simple rate limiting middleware for tide
I just published my first crate - a rate-limiter for tide that's backed by governor for the actual rate-limiting.
What are some alternatives?
hyper - An HTTP library for Rust
actix-governor - A middleware for actix-web that provides rate-limiting backed by governor.
tower - async fn(Request) -> Result<Response, Error>
cassette - A simple, single-future, non-blocking executor intended for building state machines. Designed to be no-std and embedded friendly.
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
throttle_my_fn - A Rust attribute macro to limit a function's number of runs over a specified period of time
trillium - 🌱🦀🌱 Trillium is a composable toolkit for building internet applications with async rust
Rhai - Rhai - An embedded scripting language for Rust.
static-file-server-speed-compare
serde - Serialization framework for Rust
flamegraph - Easy flamegraphs for Rust projects and everything else, without Perl or pipes <3
time - The most used Rust library for date and time handling.