Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Frp | 65,830 | 9 | a day ago | 78 | July 10, 2022 | 105 | apache-2.0 | Go | ||
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. | ||||||||||
Caddy | 46,527 | 118 | 334 | 2 days ago | 85 | October 26, 2020 | 103 | apache-2.0 | Go | |
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS | ||||||||||
Vapor | 22,639 | 3 days ago | November 16, 2021 | 109 | mit | Swift | ||||
💧 A server-side Swift HTTP web framework. | ||||||||||
Postgrest | 20,287 | 4 | 2 days ago | 37 | July 12, 2022 | 201 | mit | Haskell | ||
REST API for any Postgres database | ||||||||||
Aiohttp | 13,414 | 7,355 | 4,894 | 2 days ago | 220 | November 14, 2021 | 500 | other | Python | |
Asynchronous HTTP client/server framework for asyncio and Python | ||||||||||
Node Http Proxy | 13,281 | 398,065 | 2,932 | 7 days ago | 103 | May 17, 2020 | 577 | other | JavaScript | |
A full-featured http proxy for node.js | ||||||||||
Http Server | 12,539 | 46,303 | 7,932 | 2 months ago | 49 | May 31, 2022 | 131 | mit | JavaScript | |
a simple zero-configuration command-line http server | ||||||||||
Chisel | 8,718 | 2 | 21 | 25 days ago | 27 | February 03, 2022 | 173 | mit | Go | |
A fast TCP/UDP tunnel over HTTP | ||||||||||
Warp | 7,870 | 73 | 355 | a day ago | 34 | November 09, 2021 | 217 | mit | Rust | |
A super-easy, composable, web server framework for warp speeds. | ||||||||||
Proxygen | 7,771 | a day ago | 39 | other | C++ | |||||
A collection of C++ HTTP libraries including an easy to use HTTP server. |
A super-easy, composable, web server framework for warp speeds.
The fundamental building block of warp
is the Filter
: they can be combined
and composed to express rich requirements on requests.
Thanks to its Filter
system, warp provides these out of the box:
Since it builds on top of hyper, you automatically get:
Add warp and Tokio to your dependencies:
tokio = { version = "1", features = ["full"] }
warp = "0.3"
And then get started in your main.rs
:
use warp::Filter;
#[tokio::main]
async fn main() {
// GET /hello/warp => 200 OK with body "Hello, warp!"
let hello = warp::path!("hello" / String)
.map(|name| format!("Hello, {}!", name));
warp::serve(hello)
.run(([127, 0, 0, 1], 3030))
.await;
}
For more information you can check the docs or the examples.